0

複数のタブを持つタブ項目を含むユーザー コントロールがあります。各タブには、同一のボタン (追加、更新、削除) を持つカスタム スタック パネルが含まれています。「指定された要素は、すでに別の要素の論理的な子です。最初に切断してください」というエラーが表示されます。x:Shared = "False"要素が既に設定されているため、切断する方法がわかりません。

Grid.Resource 内:

<!--ButtonAddImage-->
<Image x:Key="ButtonAddImage"
       x:Shared="True">
    <Image.Style>
        <Style TargetType="{x:Type Image}">
            <Setter Property="Source"
                    Value="add2_32.png" />
            <Setter Property="Stretch"
                    Value="Uniform" />
        </Style>
    </Image.Style>
</Image>


<!--ButtonAddStyle-->
<Style TargetType="Button"
       x:Key="ButtonAddStyle"
       x:Shared="False">
    <Setter Property="Content"
        Value="{DynamicResource ResourceKey=ButtonAddImage}" />
    <Setter Property="Width"
            Value="32" />
    <Setter Property="Height"
            Value="22" />
    <Setter Property="HorizontalAlignment"
            Value="Left" />
    <Setter Property="VerticalAlignment"
            Value="Center" />
</Style>

内側のタブ:

<Button  Style="{DynamicResource ResourceKey=ButtonAddStyle}"
         Name="gdSMSInfo_btnAddRecord"
         Click="gdSMSInfo_btnAddRecord_Click">
4

1 に答える 1

0

ボタンのスタイルには x:Shared="False" がありますが、スタイルで使用している画像には x:Shared="True" があります。画像自体の x:Shared を False に変更すると、うまくいきます。

于 2012-06-29T22:17:58.567 に答える