我有一個基本的MVVM輕的Windows Phone 8應用程序創建。我有MainView,顯示爲啓動頁面。這會自動獲取MainViewModel的新實例的datacontext。當我導航到視圖時,如何將視圖模型鏈接到視圖?
我想導航到另一個視圖,並將一個新的viewmodel(或導航中提供的現有視圖)設置爲該視圖的datacontext。
我該怎麼做?
工作,我應該用別的東西導航?
我有一個基本的MVVM輕的Windows Phone 8應用程序創建。我有MainView,顯示爲啓動頁面。這會自動獲取MainViewModel的新實例的datacontext。當我導航到視圖時,如何將視圖模型鏈接到視圖?
我想導航到另一個視圖,並將一個新的viewmodel(或導航中提供的現有視圖)設置爲該視圖的datacontext。
我該怎麼做?
工作,我應該用別的東西導航?
在XAML
的BasePage的標籤您可以將您的視圖模型這樣
<basepage:BaseApplicationPage
DataContext="{Binding YourViewModel, Source={StaticResource Locator}}">
確保你必須與你在數據方面給予相同的名字註冊的視圖模型。 我正在使用MVVMlight,因此ViewModel和View已在'ViewModelLocator'中註冊。
希望這有助於
是的,你說得對。這是MVVM light如何進行鏈接。我認爲它是自動解決的,就像在校準中一樣。 – Thraka
我的理解是,鏈接是通過ViewModel註冊的名稱完成的。數據上下文中的名稱應與ViewModelLocator相同。所以定位器將識別相應的視圖模型。 –
http://www.geekchamp.com/articles/mvvm-in-real-life-windows-phone-applications-part1可能這會幫助你 – Jaihind