首页 > 代码库 > WP开发笔记——程序的退出方法
WP开发笔记——程序的退出方法
Windows Phone程序中,并没有之前的类似于“App.Exit()”之类的函数用来让你退出程序。这是怎么回事儿呢?
很简单,在Windows Phone 7中系统要求配备了硬件的“Back”键,该键用于在程序中导航(返回)到上一个页面(屏幕)或者应用程序。
当菜单、对话框、搜索框、虚拟键盘等打开时,点击它则关闭菜单、对话框、搜索框和虚拟键盘等。
当应用程序停留在该程序的第一个界面的时候,如果按下返回键,则该程序会自动关闭并回到打开该程序的上一个界面。
由于该动作是系统默认用来关闭程序的方法,所以并不需要你在代码中强行退出该程序。所以,微软并没有留下退出程序的函数供你调用。
如果。。。嗯,我是说如果你非要在代码中关闭程序呢?也不是没办法。
第一种办法,调用XNA中的退出方法,为了节约系统资源,XNA中提供了退出游戏的方法:
?
1 2 | 1、添加对Microsoft.Xna.Framework.Game的引用; 2、调用Game.Exit()来退出程序。 |
但是请注意,不要使用该方法。因为该方法违反了微软的应用程序验证的规范,将会导致你的程序无法提交到Marketplace中去。
第二种方法,抛出自定义的Quit异常来退出程序:
在App.xaml.cs文件中的App类添加如下代码:
?
1 2 3 4 5 | private class QuitException : Exception { } public static void Quit() { throw new QuitException(); } |
在App类的Application_UnhandledException方法中添加代码:
?
1 2 3 4 5 6 7 8 9 10 11 | // Code to execute on Unhandled Exceptions private void Application_UnhandledException( object sender,ApplicationUnhandledExceptionEventArgs e) { if (e.ExceptionObject is QuitException) return ; if (System.Diagnostics.Debugger.IsAttached) { // An unhandled exception has occurred; break into the debugger System.Diagnostics.Debugger.Break(); } } |
然后确保App.xmal.cs的构造函数中具有设定了UnhandledException的处理:
?
1 | UnhandledException+= "Application_UnhandledException" |
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。