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 を介してすべての特定の要素にスタイルを適用するにはどうすればよいのか、誰か説明してもらえますか?
助けてくれてありがとう。オンドラ