2012-05-02 69 views
2

,如果我要綁定一個視圖到視圖模型我以下內容添加到我的資源XAML碼:HOWTO綁定瀏覽到視圖模型在MVVM,環境與XAML和WPF在C#

<Window.Resources> 
    <DataTemplate DataType="{x:Type MyViewModel}" > 
     <views:MyView /> 
    </DataTemplate> 
</Window.Resources> 

是有沒有可能將(viewmodel,view)-resource-entry添加到我的資源dictonary在C#代碼?

下面兩行創建密鑰,並將其添加到dictonary:

DataTemplateKey key = new DataTemplateKey(typeof(MyViewModel)); 
View.WindowName.Resources.Add(key, value); 

但我怎麼能創建從MyView其中必須有類型System.Windows.Baml2006.KeyRecord價值?

回答

1

here是一個關於如何使用c#代碼創建datateplate的示例。

ps:你的問題標題應該是類似於如何用c#代碼創建數據模板。這與mvvm沒有任何關係。更當然這個代碼不應該來到這個視圖模型;)

編輯:

DataTemplate temp = new DataTemplate(); 
temp.DataType = typeof (MyViewModel); 

FrameworkElementFactory fac = new FrameworkElementFactory(typeof(MyView)); 

temp.VisualTree = fac; 

View.WindowName.Resources.Add(new DataTemplateKey(typeof(MyViewModel)), temp); 

它更容易在XAML :)

相關問題