2011-05-02 30 views
13

我正在尋找設置數據上下文屬性的最佳方法。我發現有三種方式:使用MVVM分配數據上下文的最佳方法是什麼?

  1. 在View上分配數據上下文(在XAML或後面的代碼上)。通過構造函數視圖模型

  2. 指定數據上下文。

  3. 使用一些配置通過一些基礎設施類發生在運行時間圖和視圖模型的參考並結合數據的上下文。

這是鬆散耦合,可維護方面的最佳選擇?還是有什麼最好的辦法?

+1

最佳? ***最好???*** – Will 2011-05-02 12:05:50

回答

0

的4路將是一個DataTemplate。

我認爲最好的辦法是最適合你的現狀的一個。

如果我有視圖模型第一動態場景中我使用的DataTemplate/contentpresenter或視圖首先,我把你的方式之一,等等...

1

我個人很喜歡this approach因爲它讓我有寫更少的代碼:) 。它基本上使用IValueConverter來查找當wpf控件需要以可視方式呈現ViewModel以及IValueConverter爲您設置datacontext時使用哪個視圖。它還向您展示瞭如何創建一個數據模板,使您可以要求WPF默認使用此轉換器,如下所示:

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