如何改变数据网格行颜色,如果记录改变



如果可能的话,我希望通过绑定实现以下目标…

我有一个WPF数据网格绑定到一个ObservableCollection

public class Product
{
    public string Code { get; set; }
    public string Desc { get; set; }
    public bool Updated { get; set; }
}

My grids DataContext is被设置为observable collection。

我想实现的是…

  • 当用户更改数据网格中的一行时,Product的Updated字段更改为"true"。
  • 因此,我可以以某种方式绑定网格的行颜色来显示不同的颜色,这将表明用户这一行尚未保存。

认为,我将需要实现INotifyPropertyChanged来实现这一点,但不确定究竟如何做到这一点。另外,网格上是否有一个绑定属性来确保对UI所做的更改会更新后备存储?

欢呼。

  1. 你的Product类应该实现INPC,所以对Updated的绑定更新。

    您还可以更改所有属性的设置,将Updated设置为true

  2. 你可以触发属性:

    <DataGrid.RowStyle>
        <Style TargetType="DataGridRow">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Updated}" Value="True">
                    <Setter Property="Background" Value="Orange"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </DataGrid.RowStyle>
    

相关内容

  • 没有找到相关文章

最新更新