小编Bim*_*imf的帖子

MVVM(使用WPF) - 将多个视图绑定到同一ViewModel

我最近开始用WPF调查MVVM模式,用于即将开展的项目.我从Josh Smith的MSDN文章开始.我有一个问题(很多,但让我们从一开始):

我有一个IndividualViewModel,它公开了模型的属性.我需要两个视图"添加个人"和"编辑个人",这些视图与您想象的非常相似.我目前所做的是有2个子类AddIndividualViewModel和EditIndividualViewModel分别公开Add和Edit命令.我还有2个类似的命名视图绑定到这些视图.

现在这个方法有效,而且这些类无论如何都相当小,但我想知道是否有可能只有一个视图模型,它暴露了两个命令.我仍然会有2个视图绑定到同一个视图模型,将相应的命令作为按钮公开.我不太清楚如何做到这一点.在主窗口资源中我有类似的东西:

        <DataTemplate DataType="{x:Type ViewModels:AddIndividualViewModel}">
            <Views:AddIndividualView />
        </DataTemplate>
Run Code Online (Sandbox Code Playgroud)

使用这种绑定方法,您只能具有一对一的绑定,即对于给定的视图模型始终显示相同的视图.有没有办法根据视图模型上的属性自动切换视图(例如IndividualViewModel.Mode).我应该考虑采用不同的方法吗?

请注意,主窗口包含一组视图模型,并在选项卡中显示每个模型.

谢谢!

wpf binding mvvm viewmodel

14
推荐指数
3
解决办法
3万
查看次数

标签 统计

binding ×1

mvvm ×1

viewmodel ×1

wpf ×1