为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
慕码人2483693 2019-11-02 14:02:20
我的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();    }据我所知,我没有清除后栈。这是怎么回事,我该如何解决?亲切的问候,尼尔斯
查看完整描述

3 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

您可以使用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);

    }

}

有关此主题以及处理生命周期事件的功能的更多信息,请阅读本文或观看此视频。


查看完整回答
反对 回复 2019-11-02
  • 3 回答
  • 0 关注
  • 314 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信