我最近开始调查MVVM模式与WPF为即将到来的项目。我开始于Josh Smith's MSDN article.我有一个问题(很多,但让我们从一个开始):MVVM(与WPF) - 将多个视图绑定到相同的ViewModel
我有一个IndividualViewModel公开模型的属性。我需要两个视图“添加个人”和“编辑个人”,这两个视图与您想象的非常相似。我目前所做的是有两个子类AddIndividualViewModel和EditIndividualViewModel分别公开Add和Edit命令。我也有2个类似命名的视图,绑定到这些。
现在这种方法的工作,这些类是相当小,但我想知道是否有可能只有一个视图模型,这暴露了两个命令。我仍然会有2个视图绑定到这个相同的视图模型,并将适当的命令暴露为一个按钮。我不太清楚如何做到这一点。在主窗口中的资源我有类似:
<DataTemplate DataType="{x:Type ViewModels:AddIndividualViewModel}">
<Views:AddIndividualView />
</DataTemplate>
随着结合你只能拥有这方法的一个一对一绑定,即同样的看法总是显示为一个给定的视图模型。有没有办法根据视图模型上的属性(例如IndividualViewModel.Mode)自动切换视图。我应该考虑一种不同的方法吗?
请注意,主窗口包含视图模型的集合并在选项卡中显示每个视图模型。
谢谢!
看来你有缺少的代码。你可以用代码片段更新你的答案吗? – PlagueHammer 2013-12-19 22:30:54