c# - 用于共享列表的 MVVM 应用程序中的列表模型是否可行?

标签 c# wpf mvvm model

我有一个带有大量下拉列表的应用程序,这些列表应该在窗口之间保持同步。 IE。如果用户添加例如一个新部门,所有带有部门下拉列表的打开表单也必须有新部门。

我首先想到的是列表模型, View 模型从中提取列表。所有都是 ObservableCollections,因此 View 模型订阅列表模型,订阅列表更改的 View 模型,并合并它们。

还是我要在这里建一栋意大利面条屋?

另一个要求(这些不是我的)是一个用户的列表更改,仅通过数据库与其他用户共享,必须传播到其他用户。我只能想到列表模型发送的广播消息是变化的起源。

最佳答案

您的解决方案似乎很可靠。我有一个 MainWindowViewModel用你的ObservableCollection<Department> .创建新窗口时,可以将引用传递给 ObservableCollection来自 MainWindowViewModel到新窗口 View 模型的构造函数。这样,无论添加到哪里,添加新部门都会自动同步到每个窗口。

关于c# - 用于共享列表的 MVVM 应用程序中的列表模型是否可行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20101829/

相关文章:

c# - 数据绑定(bind)到不同 UserControl 中的 ObservableCollection - 如何保留当前选择?

c# - 使用 C# 在 Oracle 中输入 Alter User 语句

c# - Sonar 问题 - 删除对局部变量的无用赋值

wpf - 在什么情况下卡住 WPF 对象对性能有很大好处?

c# - 在 DataGridTextColumn 中,在绑定(bind)到 double 值类型的列上,.05 被转换为 5

c# - 在多个 View 框中设置相同的字体大小

wpf - 关闭命令 WPF

c# - 无法验证对具有多个接口(interface)的模拟对象上的方法的调用

c# - 打开没有扩展名的文件

mvvm - 清理 ViewModels MVVM Light 和 Xamarin 表单