我正在尝试理解MVVM模式,我参加了一个示例程序。该模型是一个C#.net库,查询时返回一个IList<INote>
对象。我希望我的视图能够通过数据绑定添加/编辑/删除此集合中的项目。但我不知道如何开始使用MVVM。请帮帮我。
模型公开了一个接口来检索IList<INote>
目标,
View有一个列表框,显示IList<INote>
的内容以及其他一些控件,以便将数据添加到IList<INote>
。
答案 0 :(得分:3)
将您的ListBox绑定到ObservableCollection<T>
,每次添加或删除ObservableCollection<T>
中的内容时,它都会立即更新。
此ObservableCollection<T>
通常应该是ViewModel的属性。
如果模型中的IList
属性不可观察(并且您无法控制它),则必须编写代码以在ViewModel中同步它。这些是建筑问题。我认为在这方面最干净的选择是实际使用ReadOnlyObservableCollection<T>
并使用您的存储库添加/删除项目并相应地进行同步。
答案 1 :(得分:1)
我DelegateCommand
{{1}}应该为您提供良好的基础。
答案 2 :(得分:0)
我将我的列表框绑定到ObservableCollection<Item>
,我在此集合中添加/删除/修改了项目。它工作正常。在how it works without any INotifyPropertyChanged上查看此信息。如果我错了,请纠正我