【发布时间】:2011-05-20 09:20:30
【问题描述】:
我有一个绑定到 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"),但仍然没有运气。
有什么想法吗?
提前谢谢你。
【问题讨论】:
标签: c# .net wpf ado.net binding