以下是一个简单的问题:您如何将视图链接到视图模型?复合WPF:数据模板与视图模型注入
基本上有两种常见的方法来实现,数据模板和视图模型注入(下面的示例)。
我想知道的是为什么你更喜欢一种方法而不是其他方法,在这种情况下你使用它们。精确使用您的MVVM框架。
数据模板的方式或 “视图模型第一” 的方法(Resources.xaml):
<DataTemplate DataType="{x:Type my:PersonViewModel}">
<my:PersonView/>
</DataTemplate>
视图模型喷射方式或 “查看第一个” 的方法(PersonView .xaml.cs):
[Import]
public PersonViewModel ViewModel
{
set
{
this.DataContext = value;
}
}
那么你使用什么框架? – Ucodia
@Ucodia我通常使用PRISM,但我有时使用MVVM Light Framework,因为当'CanExecute'参数改变时,它们的'RelayCommand'会在命令上产生一个PropertyChanged事件,而PRISM的'DelegateCommand'则不会。 – Rachel
好的谢谢。那么你使用棱镜的区域特征吗?因为这是Prism的一个非常有趣的功能,但是这个使用了一种“先查看”的方法。 – Ucodia