我有以下XAML用于显示所选列表视图项的详细信息。我希望矩形在文本后面显示标准的信息颜色,除非所选项代表错误信息。下面的代码不起作用,并且始终显示信息颜色。如果我不为根<Rectangle />
元素指定填充
,它将工作得很好。
<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的一些基本方面,但似乎无法确定。有人能指点我正确的方向吗,以便在其条件为真时覆盖现有填充值的数据触发器?