C# WPF使用转换器更改datagrid单元格背景色
我有一个WPF数据网格。我需要比较datetime类型的两列,并根据比较结果,为当前列和行中的两个单元格设置单元格背景色。我为每个datagrid行执行此操作。为了做到这一点,我使用了一个转换器C# WPF使用转换器更改datagrid单元格背景色,c#,wpf,datagrid,datagridtextcolumn,C#,Wpf,Datagrid,Datagridtextcolumn,我有一个WPF数据网格。我需要比较datetime类型的两列,并根据比较结果,为当前列和行中的两个单元格设置单元格背景色。我为每个datagrid行执行此操作。为了做到这一点,我使用了一个转换器 <my:DataGridTextColumn Binding="{Binding Path=Date1, StringFormat=\{0:dd/MM/yyyy\}}" Header="Date"> <my:DataGridTextColumn.ElementStyle>
<my:DataGridTextColumn Binding="{Binding Path=Date1, StringFormat=\{0:dd/MM/yyyy\}}" Header="Date">
<my:DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Background">
<Setter.Value>
<MultiBinding Converter="{StaticResource CellDateColorConverter}">
<Binding Path="Date1"/>
<Binding Path="Date2"/>
</MultiBinding>
</Setter.Value>
</Setter>
</Style>
</my:DataGridTextColumn.ElementStyle>
</my:DataGridTextColumn>
<my:DataGridTextColumn Binding="{Binding Path=Date2, StringFormat=\{0:dd/MM/yyyy\}}" Header="Date">
<my:DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Background">
<Setter.Value>
<MultiBinding Converter="{StaticResource CellDateColorConverter}">
<Binding Path="Date1"/>
<Binding Path="Date2"/>
</MultiBinding>
</Setter.Value>
</Setter>
</Style>
</my:DataGridTextColumn.ElementStyle>
</my:DataGridTextColumn>
这里我有两个问题:
画笔
:
if (date1.Date > date2.Date)
{
return System.Windows.Media.Brushes.Brown;
}
System.Windows.Data.Binding.DoNothing
画笔
:
if (date1.Date > date2.Date)
{
return System.Windows.Media.Brushes.Brown;
}
System.Windows.Data.Binding.DoNothing
这正是我想要的。工作如果行样式和单元格样式都满足要求,哪种样式占优势?按单元格样式设置背景色的行样式中设置背景色?单元格位于行的顶部。再次感谢您的帮助!这正是我想要的。工作如果行样式和单元格样式都满足要求,哪种样式占优势?按单元格样式设置背景色的行样式中设置背景色?单元格位于行的顶部。再次感谢您的帮助!