0

WPF スタイルの問題に直面しました。

ルート userControl では、リソースを次のように定義しています。

<UserControl.Resources>
    <Style TargetType="{x:Type MyControl}">
        <Setter Property="MyControl.AAA" Value="Value1" />
    </Style>
</UserControl.Resources>

これは問題なく機能し、ビジュアル ツリー階層全体のすべての MyControl 要素に影響します。

次のように、DataTrigger を使用してセッターを変更しようとすると、次のようになります。

<UserControl.Resources>
    <Style TargetType="{x:Type MyControl}">
        <Style.Triggers>                
           <DataTrigger Binding="{Binding Path=SelectedAAAValue}" Value="Value1">
               <Setter Property="MyControl.AAA" Value="Value1" />
           </DataTrigger>
           <DataTrigger Binding="{Binding Path=SelectedAAAValue}" Value="Value2">
               <Setter Property="MyControl.AAA" Value="Value2"/>
           </DataTrigger>
        </Style.Triggers>
    </Style>
</UserControl.Resources>

スタイルは、特定の MyControl 型のルート要素にのみ適用されます。

なぜそれが起こっているのか、DataTriggers を介してすべての特定の要素にスタイルを適用するにはどうすればよいのか、誰か説明してもらえますか?

助けてくれてありがとう。オンドラ

4

1 に答える 1

0

なぜそうなるのかわかりませんが、ここでさらに情報を見つけることができるかもしれません。もちろん、これは、MyControl.AAAを設定しているプロパティがDependecyPropertyである場合にのみ発生します。

画像の下の次の段落で、さらに詳しく説明する必要があります。

于 2013-01-22T22:21:17.027 に答える