我试图了解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/

10-13 01:45