我有一个DataGrid,集合中的对象有一个属性isvalid当一个项无效时(isvalid==false),我使用数据触发器将行前景颜色设置为红色。
这是可行的,但是当我选择一个无效的行时,数据网格行上的选择样式会覆盖我设置的前景颜色,它不再是红色(它只是显示为默认的主题前景颜色)。
我想把这个组合起来
<Trigger Property="IsSelected" Value="true">
<Setter Property="Foreground" Value="Red"></Setter>
</Trigger>
具备以下条件
<DataGrid.RowStyle>
<Style TargetType="DataGridRow" BasedOn="{StaticResource MetroDataGridRow}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=isvalid}" Value="false">
<Setter Property="Foreground" Value="Red"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
一行的前景色应该是红色的,不管它是否被选中(但只有当isvalid==false时)
我试着从
this post
<MultiDataTrigger.Conditions>
<Condition Property="IsSelected" Value="True"/>
<Condition Binding="{Binding Path=isvalid}" Value="false" ></Condition>
</MultiDataTrigger.Conditions>
System.InvalidOperationException-必须具有非空值