我试图了解MVVM模式,并采用了一个示例程序进行研究。该模型是一个C#.net库,在查询时会返回一个IList<INote>
对象。我希望我的 View 能够通过数据绑定(bind)添加/编辑/删除此集合中的项目。但是我不知道如何使用MVVM来开始。请帮帮我。
模型公开一个接口(interface)来检索IList<INote>
objecs,
View有一个列表框,显示IList<INote>
的内容以及将数据添加到IList<INote>
的其他几个控件。
最佳答案
将您的ListBox绑定(bind)到ObservableCollection<T>
,每次您在该ObservableCollection<T>
中添加或删除某些内容时,它都会立即更新。
此ObservableCollection<T>
通常应该是ViewModel的属性。
如果无法观察到模型中的IList
属性(并且无法对其进行控制),则必须编写代码以在ViewModel中进行同步。这些是建筑的问题。我觉得这方面最干净的选择是实际使用ReadOnlyObservableCollection<T>
并使用您的存储库添加/删除项目并进行相应的同步。
关于wpf - 使用MVVM将IList绑定(bind)到列表控件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2059096/