0
我试图让某些边界元素具有提高的边框尺寸和颜色如下应用样式:WPF样式不应用于Border元素
<Border Name="AlarmBorder">
<Border.Style>
<Style TargetType="{x:Type Border}">
<Setter Property="Background">
<Setter.Value>
<SolidColorBrush Color="{Binding AlarmPriority.BackColour, Converter={StaticResource PriorityBrush}}" />
</Setter.Value>
</Setter>
<Setter Property="BorderBrush">
<Setter.Value>
<SolidColorBrush Color="{Binding AlarmPriority.BackColour, Converter={StaticResource PriorityBrush}}" />
</Setter.Value>
</Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=OPCAlarm.OPCAlarmTriggered}" Value="True">
<Setter Property="BorderThickness" Value="10"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=OPCAlarm.OPCAlarmTriggered}" Value="False">
<Setter Property="BorderThickness" Value="1"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
这增加了边框的厚度,但颜色不应用。如果我将颜色移动到边框标记中,如下所示:
<Border Name="AlarmBorder" BorderBrush="{Binding AlarmPriority.BackColour, Converter={StaticResource PriorityBrush}}">
我得到正确颜色的边框。
因此,风格级别应用的颜色不会被应用(但BorderThickness属性会),但在元素级别颜色会通过。
有人能告诉我我做错了什么吗?
感谢
感谢这个,但如果你再看看我的例如,我只在STYLE Setter级别设置背景颜色 - 不是在本地级别。只有当我将这个属性移动到本地时,它才起作用,但我不想要这个 - 我希望它处于Style中,这是不起作用的。 –
哦,现在我找到了你。请参阅答案中的更新。 –