wpf - 使用 MVVM 分配数据上下文的最佳方法是什么?

标签 wpf mvvm

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

  • 在 View 上分配数据上下文(在 XAML 或代码后面)。
  • 通过构造函数在 ViewModel 上分配数据上下文。
  • 使用一些配置来获取 View 和 View 模型引用,并通过一些基础设施类在运行时绑定(bind)数据上下文。

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

    最佳答案

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

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

    关于wpf - 使用 MVVM 分配数据上下文的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5853586/

    相关文章:

    c# - 系统.InvalidOperationException : Can not set Visibility

    WPF 鼠标忙图标

    c# - 在流程文档中更改内联

    wpf - 从xaml传递命令参数

    c# - 依赖属性绑定(bind) usercontrol 与 viewmodel

    c# - 将 AvalonDock 从 1.3 升级到 2.0

    WPF:control.ItemContainerGenerator.Status 未启动。我如何告诉它现在开始?

    c# - 在 ViewModel 中处理对话框的最佳方式是什么?

    c# - 组合框选择的操作已更改

    wpf - 数据绑定(bind)到validation.haserror