以下是一個簡單的問題:您如何將視圖鏈接到視圖模型?複合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