2011-11-10 104 views
2

正如標題所說,我需要一些幫助來設置我的ViewModelLocator。這是一個使用Galasoft MVVM Light Toolkit的Windows Phone 7應用程序。需要幫助設置MVVM Light ViewModelLocator

我在我的應用程序中有第二個頁面,我需要連接到視圖模型,但在過去一個小時在網上苦苦尋找之後,還沒有真正能夠找到添加ViewModels的簡單示例定位器。我需要的僅僅是我需要添加到定位器以及添加它的位置的代碼示例。

感謝任何能夠幫助我的人。

回答

3

這是我ViewModelLocator:

public class ViewModelLocator 
{ 
    public MainPageViewModel MainPage 
    { 
     get { return new MainPageViewModel(); } 
    } 
} 

這一塊我的App.xaml的:

<Application.Resources> 
    <vm:ViewModelLocator 
     x:Key="ViewModelLocator" /> 
</Application.Resources> 

這是我的一塊頁面的XAML:

DataContext="{Binding MainPage, Source={StaticResource ViewModelLocator}}" 
+0

謝謝,這爲我修好了! –

+0

很高興爲您服務。 ) –

+0

我會稍微擴展一下,因爲您應該有一個私有成員來在定位器中包含「MainViewModel」的實例,這會保存每次用戶導航到使用視圖的頁面時創建的視圖模型的新實例模型。因爲您正在使用MVVMLight,所以當您使用MVVM Project模板創建新項目時,會爲您提供模板ViewModel Locator(版本4還包含一個simpleIOC函數,以更好地控制數據流)。 – Darkside