在花了一整天尝试不同的建议之后,我回到了第 1 点。我试图将我的视图(XAML 窗口)绑定到我的一个 ViewModel 属性,比如 SalesOrders。ViewModel 反过来与 Model(数据库顶部的 EF 模型)对话。我面临的问题是我应该用来公开我的 SalesOrders 属性的集合类型。
我尝试了以下类型,但没有一个能满足我的所有需求。
List<T>
ObservableCollection<T>
BindingList<T>
CollectionViewSource
在上述之上
这是我需要我的收藏做的事情:
- 该视图具有上一个/下一个按钮,因此该集合应提供某种货币管理器。
- 视图中有一个保存按钮,我需要根据 SalesOrder 集合是否有任何更改来立即启用/禁用该按钮。由于
SalesOrder
已经是 EF 类型,它的所有字段都实现了INotifyPropertyChanged
.
CollectionViewSource
为我提供导航方法(上一个/下一个),但不监听 PropertyChanged 事件,因此修改视图中的数据不会打开保存按钮。BindingList
可以监听 PropertyChanged 事件,但不提供导航方法。ObservableCollection
缺乏这两个功能。
TIA。