2016-08-14 57 views
1

我简单的应用程序用C#编写,用sqlite数据库。我意识到它在我的手机上工作不快。我很确定这个问题与按钮后退按钮的功能有关。当我重复几次这个过程时:Windows 10移动UWP - 慢退按钮

打开新页面 - >通过后退按钮返回上一页,应用程序启动变慢。

当我添加我自己的后退按钮来测试时,一切正常。

我基地大多这篇文章: http://www.wintellect.com/devcenter/jprosise/handling-the-back-button-in-windows-10-uwp-apps

回答

1

打开新页面 - >按后退按钮返回到上一个页面,应用程序启动慢下来。

查看您的项目后,我发现问题:您正在每页上注册SystemNavigationManager.GetForCurrentView().BackRequested +=OnBackRequestedSystemNavigationManager.GetForCurrentView().BackRequested是应用程序范围事件。当您在页面之间导航时,它不会处理事件处理程序。您只需在整个应用程序中注册一次。

因此,要解决该问题,您可以注释掉所有BackRequested事件注册您的网页的代码隐藏,并只保留在您的App.xaml.cs

例如:在ProductsPage.xaml.cs注释掉或删除以下行:

//SystemNavigationManager.GetForCurrentView().BackRequested += (s, e) => 
//{ 
// // TODO: Go back to the previous page 
// Frame.Navigate(typeof(main1)); 
//}; 
0

如果你的背部是手机硬键可能​​会处理该事件。

的联系是说PC,并添加后退按钮,你应该

SystemNavigationManager.GetForCurrentView().BackRequested +=OnBackRequested; 

    private void OnBackRequested(object sender, BackRequestedEventArgs e) 
    { 
     Frame rootFrame = Window.Current.Content as Frame; 


     if (rootFrame?.CanGoBack==true) 
     { 
      e.Handled = true; 
      rootFrame.GoBack(); 
     } 
     else 
     { 
      Application.Current.Exit(); 
     } 
    } 
} 

http://edi.wang/post/2016/2/1/windows-10-uwp-back-button-tricks http://blog.csdn.net/lindexi_gd/article/details/50618029

+0

,所以我做到了,这是对我的文章一样。我用数据库发送我的整个项目(vs 2015)。 https://drive.google.com/file/d/0B5ZmP3NVyVJkQnBPRDBHSmdtUFU/view?usp=sharing PS请不要吓了我的代码:) – user3688227

+0

质量我很抱歉我不能打开谷歌 – lindexi

+0

我可以通过电子邮件发送给您吗 – user3688227