私にはいくつかの要素があり、「X」の場合はすべて同じように見えるはずです。問題は、要素ごとに「X」が異なるため、共有スタイルを簡単に使用できないことです。でも、いずれの場合もセッターは同じなので、一か所にまとめたいと思います。どうすればそれを達成できますか?
より具体的には、私はこのコードを持っています:
<TextBlock Name="text1">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding SelectedMonth, Converter={conv:IsNullConverter}}"
Value="False">
<Setter Property="Background" Value="RoyalBlue" />
<!-- possibly other setters -->
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<TextBlock Name="text2">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding IsSelected}" Value="True">
<Setter Property="Background" Value="RoyalBlue" />
<!-- possibly other setters, same ones as above -->
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
ここでは、2つSetter
を共通の場所に配置して、常に1つずつ変更する必要がないようにします。それを行う方法はありますか?
コレクションをSetter
まとめて、のようなものを使ってみDataTrigger.Setters="{StaticResource SharedSetters}"
ました。これは機能しませんが、機能する場合は、まさに私が望むものになります。