Uco*_*dia 3 wpf dependency-injection datatemplate mvvm
这是一个简单的问题:您将视图链接到视图模型的用途是什么?
基本上有两种常见的方法来实现,数据模板和视图模型注入(下面的示例).
我想知道的是为什么你喜欢一种方法而不是另一种方法,在这种情况下你使用它们.精确您使用的MVVM框架.
数据模板方式或"View Model first"方法(Resources.xaml):
<DataTemplate DataType="{x:Type my:PersonViewModel}">
<my:PersonView/>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)
视图模型注入方式或"查看第一"方法(PersonView.xaml.cs):
[Import]
public PersonViewModel ViewModel
{
set
{
this.DataContext = value;
}
}
Run Code Online (Sandbox Code Playgroud)
Rac*_*hel 11
我更喜欢使用DataTemplates
它允许我根据属性为同一个ViewModel设置多个视图
我的ViewModel是我的应用程序,View只不过是一个漂亮的层,使我的ViewModel的用户友好.如果我使用ViewModel注入,那么Views会成为我的应用程序而开发团队突然不得不担心UI方面的事情
我的ViewModel由其他ViewModel管理.例如,一个ViewModel可能包含一个显示在TabControl中的其他ViewModel的集合.在父ViewModel中完成添加或关闭选项卡.使用View控制应用程序状态不容易实现这种功能.
我可以根据我的需要使用参数化构造函数初始化不同的ViewModel,而不必使用通用的Import
这只是几个原因......我确信还有其他原因,但现在还没有想到它们
| 归档时间: |
|
| 查看次数: |
3233 次 |
| 最近记录: |