我在资源字典中有一个样式,所以
<Style x:Key="heading" TargetType="Label">
<Setter Property="FontSize" Value="26" />
</Style>
我想让它分配控制是否有一些触发器 条件得到满足。例如
<Style TargetType="Label">
<Style.Triggers>
<Trigger Property="Tag" Value="header" >
<Setter Property="FontSize" Value="26" />
</Trigger>
</Style.Triggers>
</Style>
工作正常
<Style TargetType="Label">
<Style.Triggers>
<Trigger Property="Tag" Value="header" >
<Setter Property="Style" Value="{StaticResource heading}" />
</Trigger>
</Style.Triggers>
</Style>
给出一个错误,即Style触发器无法更改Style的Style属性 相关目标哪种有意义,但有一种解决方法 对此?
答案 0 :(得分:0)
诀窍是将触发器放入资源字典而不是样式
<Style TargetType="Label">
<Style.Triggers>
<StaticResource ResourceKey="headerTrigger"/>
</Style.Triggers>
</Style>
并在资源字典中定义触发器,如此
<Trigger x:Key="headerTrigger" Property="Label.Tag" Value="header" >
<Setter Property="Label.FontWeight" Value="Bold"/>
<Setter Property="Label.BorderBrush" Value="Red"/>
<Setter Property="Label.BorderThickness" Value="2"/>
</Trigger>