Перейдите на новую страницу в Codebehind с помощью NavigationService - PullRequest
0 голосов
/ 06 января 2012

Я хочу получить доступ к своей странице для настройки страницы XAML:

Dim Pg As New PageListPickerSelection
Pg.StartCalculating(199,"Z-UU", MyCalculationDataIEnumList, myImageSource)
App.NavigationService.Navigate(New Uri("/uc/ListPicker/PageListPickerSelection.xaml", UriKind.Relative))

Но NavigationService.Navigate не поддерживает Objects или ссылки на страницы.

Как правильно отобразить собственную страницу?

Или спросили по-другому: как " ListPicker в WP7 " решает эту проблему при отображении отдельной страницы?

Привет

Ответы [ 2 ]

1 голос
/ 06 января 2012

Если я понимаю ваш вопрос, вы спрашиваете, как настроить страницу перед переходом на нее, правильно? Служба навигации будет создавать ваши страницы по мере их перехода на лету. Невозможно предоставить службе навигации страницу как объект. Если вам нужно передать данные на страницу, вы можете использовать обычный метод добавления параметров в URI как таковой (используя c #, поскольку я не знаком с VB):

NavigationService.Navigate(new Uri("/uc/ListPicker/PageListPickerSelection.xaml?Param1=" + (199).ToString() + "&Parm2=" + "Z-UU", UriKind.Relative));

Позже в методе OnNavigatedTo () метода PageListPickerSelection вы можете снова проанализировать параметры следующим образом:

string p1 = this.NavigationContext.QueryString["Param1"];
string p2 = this.NavigationContext.QueryString["Param2"];
0 голосов
/ 06 января 2012

Вы можете использовать статический класс, в котором у вас есть пара статических значений, которые вы пишете при выходе с первой страницы и читаете при открытии второй страницы.

Если вам не нравятся статические классы / переменные, вы можете использовать синглтон.

...