【发布时间】:2010-12-31 14:46:38
【问题描述】:
我最近开始为即将到来的项目研究带有 WPF 的 MVVM 模式。我从Josh Smith's MSDN article. 开始我有一个问题(很多,但让我们从一个开始):
我有一个 IndividualViewModel 公开模型的属性。我需要两个视图“添加个人”和“编辑个人”,您可以想象它们非常相似。我目前所做的是有 2 个子类 AddIndividualViewModel 和 EditIndividualViewModel 分别公开 Add 和 Edit 命令。我还有 2 个类似命名的视图绑定到这些视图。
现在这个方法有效,而且这些类还是相当小,但我想知道我是否有可能只有一个视图模型,它公开了两个命令。我仍然会有 2 个视图绑定到同一个视图模型,将适当的命令作为按钮公开。我不太确定该怎么做。在主窗口资源中,我有类似的内容:
<DataTemplate DataType="{x:Type ViewModels:AddIndividualViewModel}">
<Views:AddIndividualView />
</DataTemplate>
使用这种绑定方法,您只能进行一对一的绑定,即始终为给定的视图模型显示相同的视图。有没有办法根据视图模型上的属性(例如 IndividualViewModel.Mode)自动切换视图。我应该考虑其他方法吗?
请注意,主窗口有一组视图模型,并在选项卡中显示每个模型。
谢谢!
【问题讨论】:
标签: wpf mvvm binding viewmodel