我正在使用 WPF 启动一个新的 MVVM 项目,我对这两个项目都不熟悉,并且想确保我使用的是正确的 MVVM 方法。
我有以下内容:
- 我有一个主用户控件,其中包含自己的 ViewModel 和 TabControl
- 每个选项卡都包含一个单独的用户控件及其自己的 ViewModel
- 创建 MasterViewModel 后,会设置其属性之一(我们称之为 MasterId)
- 我需要将 MasterId 属性更改从主视图模型传播到 subview 模型
我想知道实现这个简单场景的最简单/最好/正确的 MVVM 方法是什么?
最佳答案
当涉及到 TabControl
等时,我倾向于将 subview 模型放在 MasterViewModel
的集合中
public ObservableCollection<ViewModelBase> Tabs { get; private set; }
当您的 ID 设置完毕或 subview 模型创建后,您就可以为其设置属性
public int MasterId
{
get { return _masterId; }
set { _masterId = value;
foreach(var vm in Tabs)
vm.MasterId = value;
NotifyPropertyChanged("MasterId");
}
}
关于mvvm - 将信息从父 View 模型传递到 subview 模型的正确 MVVM 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10304707/