我有一个带有DataGrid的简单WPF应用程序,该应用程序由DataContext中的元素填充,该元素设置如下:
public MainWindow() {
InitializeComponent();
MyContext k = new MyContext(this);
DataContext = k;
}
internal class MyContext {
public ObservableCollection<Case> Cases { get; set; }
public MyContext(...) {
...
}
}
internal class Case {
public FileDate Date { get; set; }
public Case() {
...
}
}
在这里,FileDate
是一种特殊类型,其字段DateStamp
是DateTime
。
我的窗口在DataGrid中具有以下XAML。
<Grid>
<DataGrid x:Name="datagrid" ItemsSource="{Binding Cases}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Date" Binding="{Binding Date.DateStamp, StringFormat=\{0:d\}}"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
我想根据日期是否是过去的日期,是否是从现在开始的一周之内,为“日期”列中的每个单元格的背景上色。我一直在考虑使用样式和转换器,但运气不佳。
有关如何完成此操作的任何提示?谢谢!