OnNavigatedTo не будет запущен? - PullRequest
0 голосов
/ 29 марта 2012

Я хочу сделать некоторую проверку, когда страница была показана.Контрольный код записывается в функции OnNavigatedTo ().Однако я обнаружил, что при переходе на страницу по гиперссылке OnNavigatedTo () будет выполнен, но если я напишу этот код в событии нажатия кнопки, OnNavigatedTo () не будет выполнен.

this.Content = new SOMEPAGE();

Не могли бы вы сказать мне, как сделать так, чтобы мой контрольный код запускался при каждом показе страницы?Любой лучший способ навигации можно использовать вместо «this.Content», чтобы выполнить OnNavigatedTo ()?Спасибо.

Ответы [ 2 ]

0 голосов
/ 02 апреля 2012

Если вы работаете в коде страницы, загруженной в ваш фрейм навигации, вы можете использовать свойство NavigationService, находящееся в базовом классе страницы (от которого ваша страница наследует по умолчанию).

NavigationService.Navigate(new Uri("SomePage.xaml", UriKind.Relative));

Если вы работаете в коде вашей главной страницы, вы можете получить прямой доступ к фрейму навигации (по умолчанию он называется ContentFrame в вашем xaml).

ContentFrame.Navigate(new Uri("SomePage.xaml", UriKind.Relative));
0 голосов
/ 29 марта 2012

Вот альтернативный способ перехода на другую страницу, который может быть запущен в событии щелчка:

            Frame frame = Application.Current.RootVisual.GetDescendant<Frame>();
        frame.Navigate(new Uri(url, UriKind.Relative));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...