我正在尝试在RowState
对象的DataRow
属性上实现更改通知。
这是我到目前为止所做的,但我的SetModified
方法永远不会被调用:
internal class DataRowEx : DataRow, INotifyPropertyChanged
{
#region Events
public event PropertyChangedEventHandler PropertyChanged;
#endregion
#region Construction
public DataRowEx(DataRowBuilder builder)
: base(builder)
{ }
#endregion
#region Overrides
protected new void SetModified()
{
base.SetModified();
PropertyChanged(this, new PropertyChangedEventArgs("RowState"));
}
#endregion
}
我想我可以把它变成内部并且从包含该行的对象中自己调用它,但我觉得应该有更好的方法。
答案 0 :(得分:2)
DataTable
与DataRow
一起使用,因此永远不会在SetModified()
中调用DataRowEx
(它“隐藏”继承的成员,它不会覆盖它)。
实现所需内容的最简单方法可能是实现自定义DataTable
,覆盖OnRowChanging()
或OnRowChanged()
,并委托DataRowEx
中的自定义功能从那里。