我有一个绑定到DataView的列表框。
<ListBox ItemsSource="{Binding Path=Categories}" DisplayMemberPath="Name"></ListBox>
其中Categories
是一个继承了INotifyPropertyChanged
接口的类的属性:
public class EditCategoriesPresenter : INotifyPropertyChanged
{
private DataTable _TableOfCategories;
public DataView Categories { get { return _TableOfCategories.DefaultView; } }
...
}
虽然所有对底层
DataTable
的数据更改(包括行的插入和删除、列值的更改)都会自动反映到列表框中,但当我执行 DataTable.RejectChanges()
时,行更改被反映了,但列值更改没有反映出来。我可以理解为什么会发生这种情况(DataTable.RejectChanges
不会为列值更改引发任何通知),但仍然找不到任何简单的解决方案来解决它。我在 DataTable.RejectChanges()
后还添加了 OnPropertyChanged("Categories")
,但仍然没有成功。有什么想法吗?提前感谢您。