Предположим, я хочу передать один объект (ссылку) через несколько страниц. Я могу перемещаться и передавать параметры через Frame.Navigate(typeof(FirstPage), object)
. Но как правильно передать ссылку назад на спину?UWP - Правильный способ передачи параметров между страницами
protected override void OnNavigatedTo(NavigationEventArgs e) {
if (e.Parameter is SomeClass) {
this.someObject = (SomeClass)e.Parameter;
}
else {
this.someObject = new SomeClass();
}
SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;
SystemNavigationManager.GetForCurrentView().BackRequested += OnHardwareButtonsBackPressed;
base.OnNavigatedTo(e);
}
private void OnHardwareButtonsBackPressed(object sender, BackRequestedEventArgs e) {
// This is the missing line!
Frame.Navigate(typeof(FirstPage), this.someObject);
}
Но когда я нажимаю кнопку назад он возвращается к FirstPage
OnNavigatedTo
без параметров, а затем обратно в SecondPage
OnHardwareButtonsBackPressed
, а затем обратно в FirstPage
OnNavigatedTo
с заполненным параметром.
Не могли бы вы посоветовать мне лучше подойти?