URI службы навигации Windows Phone 7?

В своем проекте я создал отдельную папку «Страницы» для хранения всех страниц, кроме главной. Я хочу перейти на одну из этих страниц с главной. Как это сделать? Мне не повезло с:

NavigationService.Navigate(new Uri("/Pages/Page1.xaml",UriKind.Relative));

Я получаю исключение нулевой ссылки каждый раз. Заранее спасибо! Также есть ли способ, которым я могу перемещаться, используя конструктор страниц, а не как в WPF?


person Atif    schedule 15.05.2011    source источник
comment
где вы вызываете этот код?   -  person Luke Lowrey    schedule 16.05.2011
comment
Не пытайтесь выполнить переход из конструктора, это может вызвать исключение нулевой ссылки. Это то, что ты делаешь? Кроме того, что вы имеете в виду, что хотите перемещаться с помощью конструктора страницы?   -  person keyboardP    schedule 16.05.2011
comment
^^ Спасибо, что сделали это, я все еще привыкаю к ​​тонким различиям между WPF и WP7. Под навигацией с помощью конструктора страниц я имел в виду то, что WPF позволяет делать следующее: ›'this.NavigationService.Navigate (new Page1 ()); '   -  person Atif    schedule 16.05.2011


Ответы (2)


NavigationService относится к странице. Если вы пытаетесь вызвать его извне, вы обычно получите NullReferenceException.

person Den Delimarsky    schedule 15.05.2011
comment
Нет, я пытался вызвать его из конструктора главной страницы, чтобы восполнить незавершенную логику навигации. - person Atif; 16.05.2011

Попробуйте переопределить событие OnNavigateTo () и выполнить навигацию по странице оттуда. Вы не получите нулевого исключения.

Это событие запускается сразу после загрузки конструктора и, следовательно, является идеальным местом, если вы хотите проверить какое-либо условие и выполнить навигацию до полной загрузки страницы.

Кроме того, существует еще одна функция, называемая «OnNavigateFrom ()», которая возникает при выходе со страницы.

Надеюсь, это поможет.

person Community    schedule 15.12.2011