.net 如果记录发生更改,如何更改DataGrid行颜色
如果可能的话,我想通过装订来实现以下目标 我有一个绑定到ObservableCollection的WPF数据网格.net 如果记录发生更改,如何更改DataGrid行颜色,.net,wpf,xaml,datagrid,inotifypropertychanged,.net,Wpf,Xaml,Datagrid,Inotifypropertychanged,如果可能的话,我想通过装订来实现以下目标 我有一个绑定到ObservableCollection的WPF数据网格 public class Product { public string Code { get; set; } public string Desc { get; set; } public bool Updated { get; set; } } My grids DataContext设置为可观察集合 我想要实现的是 当用户更改datagrid中的一行
public class Product
{
public string Code { get; set; }
public string Desc { get; set; }
public bool Updated { get; set; }
}
My grids DataContext设置为可观察集合
我想要实现的是
- 当用户更改datagrid中的一行时,产品的更新字段将更改为“true”
- 因此,我可以以某种方式绑定网格的行颜色以显示不同的颜色,这将向用户指示该行尚未保存
产品
类应该更新到更新的
的绑定
您还可以将所有属性的设置器更改为将Updated
设置为true
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger Binding="{Binding Updated}" Value="True">
<Setter Property="Background" Value="Orange"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
还有更多的属性滥用,如果你有一个事件,就使用事件……好吧,如果我在网格中有100个项目,我如何“侦听”可能由任何项目引发的事件。如何连接能够检测备份存储中任何更改的处理程序?这是一个问题,现有的WPF功能只支持属性,如果您希望保持设计整洁并处理事件,您可能需要使用其他库,如。它比.NET中的更灵活。@RemotecUk-您可以使用从ObservableCollection派生的集合吗?例如ObservableCollection?为什么不绑定到更新的属性并使用转换器(IValueConverter)(为您的行制作模板/样式)来决定数据的状态