C# 发生GoBack()时如何通知页面?
以下是我的应用程序的功能: 第一个页面可以导航到第二个页面,第二个页面显示数据列表。用户可以选择其中一个,然后应用程序会将数据返回到第一页 听起来很简单,但我对Windows Mobile导航模式感到困惑 第一页导航到第二页,使用以下代码:C# 发生GoBack()时如何通知页面?,c#,xaml,uwp,uwp-xaml,C#,Xaml,Uwp,Uwp Xaml,以下是我的应用程序的功能: 第一个页面可以导航到第二个页面,第二个页面显示数据列表。用户可以选择其中一个,然后应用程序会将数据返回到第一页 听起来很简单,但我对Windows Mobile导航模式感到困惑 第一页导航到第二页,使用以下代码: this.Frame.Navigate(typeof(SecondPage)); 第二页使用下面的代码返回: this.Frame.GoBack(); 第一页怎么知道第二页是否消失了?我想在第二页消失后更新第一页上的UI。 现在,我使用了一个静态类来保存
this.Frame.Navigate(typeof(SecondPage));
第二页使用下面的代码返回:
this.Frame.GoBack();
第一页怎么知道第二页是否消失了?我想在第二页消失后更新第一页上的UI。
现在,我使用了一个静态类来保存用户选择的数据,但我不知道何时应该是更新第一页的正确时间
有什么方法可以获取事件或通知吗?这很简单,因为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
}
}