none
windows 8 页面跳转问题 RRS feed

  • 问题

  • 发现在windows rt 框架的一个问题,如果我有两个页面(Page) A, B,然后这样导航 A-B-A-退出,

    并分别打印如下log:

    protected override void OnNavigatedTo(NavigationEventArgs e)
            {
                base.OnNavigatedTo(e);

                System.Diagnostics.Debug.WriteLine(" navigated to " + pageName);
            }

            protected override void OnNavigatedFrom(NavigationEventArgs e)
            {
                base.OnNavigatedFrom(e);

                System.Diagnostics.Debug.WriteLine(" navigade from " + pageName);
            }

    打印log为:

    navigated to A

    navigated from A

    navigated to B

    navigated form B

    navigated  to A

    奇怪的是最后退出的时候没有打印 navigated from A ,  这样页面导航就会有问题导致没法再页面结束的时候出发一些事件处理方法

    虽然我可以在一些类似 OnSuspending 的方法中保存数据,但是这个页面的数据却丢失了,在 windowsphone 中不存在这个问题,

    我想知道这是不是微软的一个bug 还是 by design 如果是design 那太费解了


    • 已编辑 ntop 2013年1月4日 10:52
    2013年1月4日 10:42

答案

  • Hi,

    你页面结束是使用什么方法结束的?是直接关闭程序吗?这个应该是By-design的行为,在官方文档中说:

    Invoked immediately after the Page is unloaded and is no longer the current source of a parent Frame.

    那么这样的话Suspend或者关闭行为应该都不会触发这个方法,因为他们并不是从这个页面navigate走的。


    Aaron
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 ntop 2013年1月18日 5:48
    2013年1月7日 8:36
    版主