我有几个元素,如果“X”,它们应该看起来都一样。问题是,每个元素的“X”都不同,所以我不能轻易地为它们使用共享样式。但在所有情况下,setter 都是相同的,所以我希望将它们全部放在一个地方。我怎样才能做到这一点?
更具体地说,我有这个代码:
<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>
在这里,我想把这两个Setter
s放在一个共同的地方,这样我就不必总是一个一个地改变它们。有没有办法做到这一点?
我尝试将一个集合Setter
放在一起,然后使用类似DataTrigger.Setters="{StaticResource SharedSetters}"
. 这不起作用,但如果它起作用,那将正是我想要的。