Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 发生GoBack()时如何通知页面?_C#_Xaml_Uwp_Uwp Xaml - Fatal编程技术网

C# 发生GoBack()时如何通知页面?

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

以下是我的应用程序的功能:

第一个页面可以导航到第二个页面,第二个页面显示数据列表。用户可以选择其中一个,然后应用程序会将数据返回到第一页

听起来很简单,但我对Windows Mobile导航模式感到困惑

第一页导航到第二页,使用以下代码:

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
    }
}