none
关于页面导航的问题 RRS feed

  • 问题

  • 大家好。具体问题是这样的:

    我定义了一个类,继承自Page:

        class BasePage:Page
        {
            public BasePage()
            {
                this.NavigationCacheMode = Windows.UI.Xaml.Navigation.NavigationCacheMode.Required;
            }
    
            protected override void OnNavigatedTo(NavigationEventArgs e)
            {
                HardwareButtons.BackPressed += HardwareButtons_BackPressed;
            }
    
            protected override void OnNavigatedFrom(NavigationEventArgs e)
            {
                HardwareButtons.BackPressed -= HardwareButtons_BackPressed;
            }
    
            private void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
            {
                e.Handled = true;
                if (this.Frame.CanGoBack)
                {
                    this.Frame.GoBack();
                }
                else
                {
                    this.Frame.Navigate(typeof(MainPage));
                }
            }
        }

    然后我在项目中添加一个TestPage的空页面,这个页面继承自上面定义的BasePage类:

        sealed partial class TestPage : BasePage
        {
            public TestPage()
            {
                this.InitializeComponent();
            }
    
            protected override void OnNavigatedTo(NavigationEventArgs e)
            {
                base.OnNavigatedTo(e);
            }
        }

    然后问题出现了,我在TestPage的OnNavigatedTo方法开始处打了一个断点,发现e.NavigationMode的值总是为NavigationMode.New,然而我已经在BasePage中设置了NavigationCacheMode为NavigationCacheMode.Required。

    请大家多多指教。


    825386224@qq.com

    2015年3月20日 6:28

答案

  • 你好,

    你能打包一个示例程序上来吗?我在准备重现问题的时候遇到了无法修改页面partial class的问题。 请使用云盘上传你的程序然后分享一个链接到这里。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年4月13日 1:44

全部回复

  • 我的也是这样的。NavigationMode.New代表重新加载页面当页面导航的时候.

    2015年3月24日 8:48
  • 我认为的期望结果应该是Back或者Forward

    825386224@qq.com

    2015年3月24日 10:50
  • 你好,

    你能打包一个示例程序上来吗?我在准备重现问题的时候遇到了无法修改页面partial class的问题。 请使用云盘上传你的程序然后分享一个链接到这里。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年4月13日 1:44