我一直在寻找设置数据上下文属性的最佳方法。我找到了三种方法
在视图上分配数据上下文(在 XAML 或隐藏代码上)。
通过构造函数在 ViewModel 上分配数据上下文。
使用一些配置来获取视图和视图模型引用,并通过一些基础结构类在运行时绑定数据上下文。
就松散耦合性和可维护性而言,哪一个是最佳选择?或者有什么最好的方法吗?
我个人喜欢这种方法 https://stackoverflow.com/questions/768304/wpf-mvvm-convention-over-configuration-for-resourcedictionary因为它使我必须编写更少的代码:)。它基本上使用一个IValueConverter
每当 wpf 控件需要呈现一个时查找要使用的视图ViewModel
视觉上和IValueConverter
为您设置数据上下文。它还向您展示了如何创建一个数据模板,允许您要求 WPF 默认使用此转换器,如下所示:
<DataTemplate DataType="{x:Type ViewModels:ViewModelBase}">
<ContentControl Content="{Binding Converter={StaticResource MyConverter}}"/>
</DataTemplate>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)