2012-03-15 96 views
0

我是新來MVVM並不能找到如何做到以下幾點:如何在使用MVVM時在兩頁之間導航?

我有MainPage.xaml中和ElementOnePage.xaml

當有人雙擊主界面的元素,我想顯示ElementOnePage。 顯示的MainPage名單,ElementOnePage顯示詳細

我的DataContext的MainPage是類型ElementViewModel

1)的應我ElementOnePage的DataContext也一樣嗎?

2)我正在使用QueryString參數來傳遞有關哪個元素被選中的信息。

但是,當我在OnNavigatedTo(NavigationEventArgs參數)函數中檢索元素時,這就太晚了。

我試着在這個方法中定義頁面的DataContext,但它沒有工作。

那麼我怎麼能有一個頁面,執行預期的行爲,同時使用有效的數據綁定?

+0

爲什麼OnNavigatedTo「太晚了」? – 2012-03-16 19:16:21

+0

我不知道。我只是在我把代碼放在這裏時,沒有完成數據綁定。 – alexandrekow 2012-03-16 21:17:21

回答

0

我爲我的WP7應用程序使用了MVVMLight。 MVVMLight使用行爲進行命令綁定。

  1. 在您的MainPageViewModel中創建一個RelayCommand,稱之爲NavigateToElementOneCommand。

  2. 在ListBox上創建一個EventToCommand行爲,並將其綁定到NavigatToElementOneCommand。 (假設MainPageViewModel被設置爲MainPage的DataContext)。

  3. 在NavigateToElementCommand中,編寫代碼以導航到ElementOnePage.XAML。