2012-07-04 40 views
3

這方面的問題已經存在,但他們不回答我的問題。 例如:如何在ViewModel中爲DataTemplate中創建的視圖設置DataContext

<ContentControl.Resources> 
      <DataTemplate DataType="{x:Type Databinding:RedScreenViewModel}" > 
       <Databinding:RedScreen DataContext="{Binding}"/> 
      </DataTemplate> 
      <DataTemplate DataType="{x:Type Databinding:BlueScreenViewModel}"> 
       <Databinding:BlueScreen DataContext="{Binding}" /> 
      </DataTemplate> 
</ContentControl.Resources> 

正如你可以看到我在嘗試設置的DataContext的創建視圖希望它會使用用於創建視圖模型。但是當我遍歷後面的代碼時,DataContext始終爲空。我怎樣才能達到我想要的? 感謝

回答

8

如果你定義在它查看你的控制ViewModel類一DataTemplate,它會自動有DataContext集到視圖模型。

這應該工作:?

<ContentControl.Resources> 
    <DataTemplate DataType="{x:Type Databinding:RedScreenViewModel}"> 
     <Databinding:RedScreen /> 
    </DataTemplate> 
    <DataTemplate DataType="{x:Type Databinding:BlueScreenViewModel}"> 
     <Databinding:BlueScreen /> 
    </DataTemplate> 
</ContentControl.Resources> 
+0

嘗試已經不工作:( –

+0

嘗試在Window.Resources設置的DataTemplates – LPL

+0

DataContext的構造函數仍是空 –

相關問題