Как перемещаться между двумя страницами при использовании MVVM? - PullRequest
0 голосов
/ 16 марта 2012

Я новичок в MVVM и не могу найти, как сделать следующее:

У меня есть MainPage.xaml и ElementOnePage.xaml

Когда кто-то дважды нажимает на элемент главной страницыЯ хочу отобразить ElementOnePage.MainPage отображает список, ElementOnePage отображает детали

Мой MainPage DataContext имеет тип ElementViewModel

1) Должен ли мой ElementOnePage DataContext быть таким же?

2) Я использую параметры QueryString для передачи информации о том, какой элемент был выбран.

Однако, когда я получаю элемент в функции OnNavigatedTo (аргументы NavigationEventArgs) , это слишком поздно.

Я попытался определить DataContext страницы в этом методе, но он не сработал.

Так, как я могу иметь страницу, которая выполняет ожидаемое поведение при использовании эффективного связывания данных?

1 Ответ

0 голосов
/ 16 марта 2012

Я использовал MVVMLight для своих приложений WP7. MVVMLight использует поведения для привязки команд.

  1. Создайте RelayCommand в вашей MainPageViewModel, назовите его, скажем, NavigateToElementOneCommand.

  2. Создайте поведение EventToCommand в ListBox и привяжите его к NavigatToElementOneCommand. (Предполагая, что MainPageViewModel установлен как DataContext MainPage).

  3. В NavigateToElementCommand напишите код для перехода к ElementOnePage.XAML.

...