我有一个带有大量下拉列表的应用程序,这些列表应该在窗口之间保持同步。 IE。如果用户添加例如一个新部门,所有带有部门下拉列表的打开表单也必须有新部门。
我首先想到的是列表模型, View 模型从中提取列表。所有都是 ObservableCollections,因此 View 模型订阅列表模型,订阅列表更改的 View 模型,并合并它们。
还是我要在这里建一栋意大利面条屋?
另一个要求(这些不是我的)是一个用户的列表更改,仅通过数据库与其他用户共享,必须传播到其他用户。我只能想到列表模型发送的广播消息是变化的起源。
最佳答案
您的解决方案似乎很可靠。我有一个 MainWindowViewModel
用你的ObservableCollection<Department>
.创建新窗口时,可以将引用传递给 ObservableCollection
来自 MainWindowViewModel
到新窗口 View 模型的构造函数。这样,无论添加到哪里,添加新部门都会自动同步到每个窗口。
关于c# - 用于共享列表的 MVVM 应用程序中的列表模型是否可行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20101829/