这是我的应用程序的作用:
第一页可以导航到第二页,第二页显示数据列表。用户可以选择其中一个然后应用程序将数据带回第一页。
听起来很简单,但我对Windows Mobile Navigation Model感到困惑。
第一页导航到第二页,使用以下代码:
this.Frame.Navigate(typeof(SecondPage));
,第二页使用以下代码返回:
this.Frame.GoBack();
如果第二页消失,第一页怎么知道?我想在第二页消失后更新第一页上的UI。 现在,我使用静态类来保存用户选择的数据,但我不知道何时应该是更新第一页的正确时间。
有没有办法获得活动或通知?
答案 0 :(得分:2)
这非常简单,因为UWP会为您做到这一点。我注意到您没有使用MVVM,因此您只需覆盖页面中的OnNavigatedTo
事件即可。导航到您的页面完成后会触发此事件(因此第二个屏幕消失了)。只需检查NavigationMode.Back
即可确认您是否返回,而不是向前导航。
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
if (e.NavigationMode == NavigationMode.Back)
{
// coming from 2nd page, so refresh your data
}
}