2013-06-20 2 views
2

на окнах магазина приложений, мы обычно используем что-то вроде этого:Windows Store Frame Navigation: Как получить исходную страницу?

this.Frame.Navigate(typeof(ItemDetailPage), itemId); 

Для навигации между различными страницами приложения.

После того, как страница, которую я хочу открыть, открыта, как я могу узнать ее источник навигации? Как я могу получить предыдущий тип страницы?

+0

Просто чтобы быть ясно, - вы работаете с 8 (WinRT) приложением витрин? –

+0

Да. Я только поместил тег телефона Windows, потому что я думаю, что навигация сделана таким же образом. – celsoap7

+0

Они похожи, но есть различия: http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.navigation.navigationeventargs - вы можете видеть, что было в предыдущей типе страницы ('SourcePageType') был, а не Uri. –

ответ

0

Вы собираетесь хотите создать навигацию, событие

void NavigationService_Navigated(object sender, NavigationEventArgs e) 
{ 
    //Your code here 
} 

(за http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationservice.navigated.aspx)

Тогда как только вы это событие, которое вы можете посмотреть на NavigationEventArgs

Это позволит вам войдите в Navigator, который вызвал событие.

Оттуда вы должны быть в состоянии захватить штурман Uri

+0

Но на странице, на которую я хочу перейти, у меня уже есть метод 'protected override void OnNavigatedTo (NavigationEventArgs e)'. Разве не существовал NavigationEventArgs, который должен дать мне URI с предыдущей страницы? – celsoap7

+0

В разделе «Тип страницы» для приложений Windows Store нет события Navigated. Он заменяется переопределяемым методом 'OnNavigatedTo', который не дает никакой информации о предыдущей странице. –

+0

@ loul-g Спасибо за информацию. – celsoap7

Смежные вопросы