2010-03-13 35 views
4

對於WPF和MVVM都是新手,我正在研究Josh Smith's article on the MVVM pattern和附帶的示例代碼。在Josh Smith的MVVM示例中如何構建視圖?

通過構建MainWindow對象,將它連接到MainWindowViewModel對象,然後顯示主窗口,我可以看到該應用程序在app.xaml.cs中啓動。到現在爲止還挺好。

但是,我找不到任何實例化AllCustomersViewCustomerView類的代碼。對這些視圖的構造函數使用「查找所有引用」沒有任何結果。我在這裏錯過了什麼?

回答

6

WPF的DataTemplate在做魔術。例如,當您在資源字典中(通常在app.xaml中)使用下面的DataTemplate將CustomerControl的實例設置爲CustomerViewModel的實例時。然後你會看到CustomerView usercontrol出現在用戶界面中。

<DataTemplate DataType="{x:Type vm:CustomerViewModel}"> 
    <vw:CustomerView /> 
</DataTemplate> 
+0

啊謝謝,現在我在'MainWindowResources.xaml'中找到了映射。 – 2010-03-13 02:04:56

+0

嗨Jobi,我知道它是一箇舊帖子,但我有相關的問題,所以我會很高興得到您的意見:我設法瞭解,每次我們將內容屬性設置爲xxxViewModel實例時,將會呈現一個xxxView對象。但我無法找到他在代碼中實際設置內容屬性......? – 2010-11-08 08:05:40