Windows Phone 8.1 Universal App终止于从第二页返回导航吗?

我的Windows Phone 8.1通用应用程序中有2个页面。


我使用带有单击事件代码的按钮从Page1 .xaml 导航到Page2 .xaml:


this.Frame.Navigate(typeof(Page2));

当我在Page2上并且使用硬件后退按钮时,该应用程序将无任何异常关闭。它只是返回到开始屏幕。


我已经在Page 2上尝试了以下方法:


public Page2()

    {

        this.InitializeComponent();

        Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;

    }


    void HardwareButtons_BackPressed(object sender, Windows.Phone.UI.Input.BackPressedEventArgs e)

    {

        Frame.GoBack();

    }

据我所知,我没有清除后栈。


这是怎么回事,我该如何解决?


亲切的问候,尼尔斯


慕码人2483693
浏览 315回答 3
3回答

蝴蝶不菲

您可以使用NavigationHelper“模式”巫婆还可以帮助您处理生命周期事件。NavigationHelper是Microsoft提供的类(它不是Windows Phone API的一部分),您可以在其中注册页面,而NavigationHelper负责FrameHistory。要使用NavigationHelper,必须将类添加到项目中,并在页面加载时在NavigationHelper上注册页面。当您向项目中添加BasicPage(而不是BlankPage)时,VisualStudio会添加一个名为common的文件夹,其中包含一些助手类,包括NavigationHelper类。要将页面注册到NavigationHelper中,您必须将以下代码添加到要导航定位器的所有页面中。public sealed partial class MySuperCoolPage : Page {    private readonly NavigationHelper navigationHelper;    public MySuperCoolPage() {        InitializeComponent();        navigationHelper = new NavigationHelper(this);    }    protected override void OnNavigatedFrom(NavigationEventArgs e){        this.navigationHelper.OnNavigatedFrom(e);    }    protected override void OnNavigatedTo(NavigationEventArgs e) {        navigationHelper.OnNavigatedTo(e);    }}有关此主题以及处理生命周期事件的功能的更多信息,请阅读本文或观看此视频。
打开App,查看更多内容
随时随地看视频慕课网APP