【问题标题】:What is the best approach to assign Data Context using MVVM?使用 MVVM 分配数据上下文的最佳方法是什么?
【发布时间】:2011-05-02 04:58:51
【问题描述】:

我一直在寻找设置数据上下文属性的最佳方法。我找到了三种方法

  1. 在 View 上分配数据上下文(在 XAML 或代码后面)。

  2. 通过构造函数在 ViewModel 上分配数据上下文。

  3. 使用一些配置来获取视图和视图模型引用,并通过一些基础架构类在运行时绑定数据上下文。

就松散耦合、可维护性而言,哪个是最佳选择?或者有什么最好的方法吗?

【问题讨论】:

    标签: wpf mvvm


    【解决方案1】:

    我个人喜欢this approach,因为它让我不得不编写更少的代码:)。它基本上使用IValueConverter 来查找在wpf 控件需要视觉呈现ViewModel 并且IValueConverter 为您设置数据上下文时使用的视图。它还向您展示了如何创建一个允许您要求 WPF 默认使用此转换器的数据模板,如下所示:

    <DataTemplate DataType="{x:Type ViewModels:ViewModelBase}">
        <ContentControl Content="{Binding Converter={StaticResource MyConverter}}"/>
    </DataTemplate>
    

    【讨论】:

      【解决方案2】:

      第 4 种方式是 DataTemplate。

      我认为最好的方法是最适合您当前情况的方法。

      如果我有 viewmodel 第一个动态场景,我使用 datatemplate/contentpresenter 或 view first 我采取你的方式,依此类推...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-21
        • 1970-01-01
        • 2019-08-19
        • 2023-03-15
        • 2018-07-09
        • 2013-11-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多