我有以下 XAML 用于显示有关在列表视图中选择的项目的详细信息。我希望矩形在文本后面显示标准信息颜色,除非所选项目表示错误消息。下面的代码不能按原样工作,总是显示信息颜色。如果我不Fill
为根<Rectangle />
元素指定 a ,它会很好用。
<Rectangle Fill="{DynamicResource {x:Static SystemColors.InfoBrushKey}}"
RadiusX="4" RadiusY="4">
<Rectangle.Style>
<Style TargetType="{x:Type Rectangle}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=CurrentMessage.Severity"
Value="Error" >
<Setter Property="Fill" Value="#20FF0000" />
</DataTrigger>
</Style.Triggers>
</Style>
</Rectangle.Style>
</Rectangle>
该片段没有反映它,但实际代码具有相当多的严重性状态级别,因此我不想为每个可能的严重性定义触发器。我想要的逻辑是“使用信息颜色,除非严重性是错误,然后使用红色”。
我确定我误解了 WPF 的一些基本方面,但似乎无法确定它。有人可以指出我正确的方向,以便我指定的数据触发器在条件为真时覆盖现有的 Fill 值吗?