C# 不同DataGrid行的不同选择颜色
我试图根据行的类型和是否选中,为datagrid中的不同行设置不同的颜色:C# 不同DataGrid行的不同选择颜色,c#,wpf,xaml,multidatatrigger,C#,Wpf,Xaml,Multidatatrigger,我试图根据行的类型和是否选中,为datagrid中的不同行设置不同的颜色: <Style TargetType="DataGridCell" x:Key="ActiveCellStyle"> <Setter Property="Foreground" Value="Black"/> <Style.Triggers> <MultiDataTrigger> <MultiDataTrigger
<Style TargetType="DataGridCell" x:Key="ActiveCellStyle">
<Setter Property="Foreground" Value="Black"/>
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Type}" Value="0"/>
<Condition Property="IsSelected" Value="False"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="#FFDFE6ED"/>
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Type}" Value="0"/>
<Condition Property="IsSelected" Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="#FF6CAFF1"/>
</MultiDataTrigger>
...
</Style.Triggers>
</Style>
...
当我运行这个时,我得到ArgumentException:key不能为null
如何解决此问题?使用
多触发器
可以使用属性
,使用多数据触发器
可以使用绑定
,不能将它们合并。所以改变
<Condition Property="IsSelected"
可能与此问题有关:
<Condition Binding="{Binding RelativeSource={RelativeSource Self},
Path=IsSelected}"
<Style TargetType="DataGridCell" x:Key="ActiveCellStyle">
<Setter Property="Foreground" Value="Black"/>
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Type}" Value="0"/>
<Condition Binding="{Binding RelativeSource={RelativeSource Self},
Path=IsSelected}"
Value="False"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="#FFDFE6ED"/>
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Type}" Value="0"/>
<Condition Binding="{Binding RelativeSource={RelativeSource Self},
Path=IsSelected}"
Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="#FF6CAFF1"/>
</MultiDataTrigger>
</Style.Triggers>
</Style>