none
使用GoBack后退必须要按2次手机的物理后退键才能后退到主页。 RRS feed

  • 问题

  • private void App_BackRequested(object sender, BackRequestedEventArgs e)
            {
                // 这里面可以任意选择控制哪个Frame 
                // 如果MainPage.xaml中使用了另外的Frame标签进行导航 可在此处获取需要GoBack的Frame
                var rootFrame = Window.Current.Content as Frame;
                
                if (!rootFrame.CanGoBack) return;
                e.Handled = true;
                rootFrame.GoBack();
            }
    2016年2月16日 9:42

全部回复

  • 这个代码我是放在APP.cs里的
    2016年2月16日 9:52
  • 您好 Enious,

    App_BackRequested是设置的一个全局的后退按钮处理事件,只看你贴出来的代码,没法发现什么问题。

    我做了个测试项目供你参考:

    在app.xaml.cs的OnLaunched中注册后台按钮事件:

    protected override void OnLaunched(LaunchActivatedEventArgs e)
            {
    
                  .......
                  .......
                // Ensure the current window is active
                Window.Current.Activate();
                SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;
                SystemNavigationManager.GetForCurrentView().BackRequested += App_BackRequested;
            }
    private void App_BackRequested(object sender, BackRequestedEventArgs e)
            {
                // 这里面可以任意选择控制哪个Frame 
                // 如果MainPage.xaml中使用了另外的Frame标签进行导航 可在此处获取需要GoBack的Frame
                var rootFrame = Window.Current.Content as Frame;
    
                if (!rootFrame.CanGoBack) return;
                e.Handled = true;
                rootFrame.GoBack();
            }

    我分别创建了3个page,MainPage,BlankPage1和MainPage2.在MainPage和BlankPage1中分别有个按钮进行页面间导航:

    //MainPage1.cs

    private void Button_Click(object sender, RoutedEventArgs e) { this.Frame.Navigate(typeof(BlankPage1)); }

    //BlankPage1.cs

    private void Button_Click(object sender, RoutedEventArgs e) { this.Frame.Navigate(typeof(MainPage2)); }

    我在手机端和PC端分别测过,没有出现你说的那个问题,你可以试下。




    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.

    2016年2月18日 6:26
    版主
  • 我犯了个低级错误,在按钮导航到其他Page过后没有添加splitter.IsPaneOpen==false
    2016年5月23日 11:31