我是 MVVM 的新手并且正在开发一个应用程序,我想在我的应用程序中实现一些事情
场景(命令绑定(bind)到按钮,某些进程决定做什么,根据结果,我需要显示 View1 或 View2)
我想从我的 View 模型中提供某种通知来查看。请引导我正确的方向。
谢谢
最佳答案
您可能想尝试其中的一些 mvvm 框架。我个人喜欢 mvvm light,因为它可以在 silverlight 和 WPF 中使用,而且易于使用 http://mvvmlight.codeplex.com/ (无从属关系)
这是一些主要框架的很好的比较/对比:What framework for MVVM should I use?
大多数框架都有一个消息传递系统,它提供了在 View 和 View 模型之间以及 View 模型之间发送更新的能力。大多数框架还提供处理 MVVM 消息框的预制消息(我知道 MVVM Light 可以)。
为了在 WPF 中处理 View 之间的切换,我使用 DataTemplates 和 Content 控件
在 View .xaml 我添加
<ContentControl Content="{Binding ActiveViewModel}" />
这是显示注入(inject) View 的空间。 ActiveViewModel 是包含所选 View 模型的 View 模型的对象。
在 ResourceDictionary 我添加如下内容:
<DataTemplate DataType="{x:Type ViewModelNameSpace:ViewModelClassName}">
<ViewNameSpace:ViewClasName/>
</DataTemplate>
最后,在 ViewModel 中,我将 ActiveViewModel 属性(设置为通过 INotifyPropertyChanged 通知 UI 更改)设置为我想使用的 viewModel 实例。
ActiveViewModel = new ViewModelClass();
关于c# - MVVM ViewModel 到 View 通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9903485/