Windows Phone程序中,并没有之前的类似于“App.Exit()”之类的函数用来让你退出程序。这是怎么回事儿呢?

  很简单,在Windows Phone 7中系统要求配备了硬件的“Back”键,该键用于在程序中导航(返回)到上一个页面(屏幕)或者应用程序。

  当菜单、对话框、搜索框、虚拟键盘等打开时,点击它则关闭菜单、对话框、搜索框和虚拟键盘等。

  当应用程序停留在该程序的第一个界面的时候,如果按下返回键,则该程序会自动关闭并回到打开该程序的上一个界面。

  由于该动作是系统默认用来关闭程序的方法,所以并不需要你在代码中强行退出该程序。所以,微软并没有留下退出程序的函数供你调用。

  如果。。。嗯,我是说如果你非要在代码中关闭程序呢?也不是没办法。

  第一种办法,调用XNA中的退出方法,为了节约系统资源,XNA中提供了退出游戏的方法:

1、添加对Microsoft.Xna.Framework.Game的引用;
2、调用Game.Exit()来退出程序。

  但是请注意,不要使用该方法。因为该方法违反了微软的应用程序验证的规范,将会导致你的程序无法提交到Marketplace中去。

  第二种方法,抛出自定义的Quit异常来退出程序:

  在App.xaml.cs文件中的App类添加如下代码:

private class QuitException : Exception { }
public static void Quit()
{
throw new QuitException();
}

  在App类的Application_UnhandledException方法中添加代码:

// 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的处理:

UnhandledException+="Application_UnhandledException"

  

WP开发笔记——程序的退出方法的更多相关文章

  1. WP开发笔记——WP7 SDK使用技巧

    俗话说的好,工欲善其事,必先利其器. 入门WP开发之前,免不了要先接触开发环境和开发工具.使用WP7 SDK进行开发,我们需要掌握SDK的一些实用技巧,以便我们的开发. 一.开启/关闭电脑键盘输入 W ...

  2. Android开发笔记(5)——方法调用(基础)

    转载请注明——博客园igoslly:http://www.cnblogs.com/igoslly/p/6833544.html   在实际方法调用中,程序按顺序逐句执行,直到“}”结束. 为避免程序大 ...

  3. WP开发笔记——页面传参

    WP APP页面与页面之间参数的传递可以通过程序的App类设置全局变量. 由于App 类继承自Application类,而通过Application的Current属性可以获取到与当前程序关联的App ...

  4. WP开发笔记——WP APP添加页面跳转动画

    微软的toolkit团队为我们为我们提供了这样一套组件,叫做TransitionServices服务. 简单说一下它具备的效果: turnstile(轴旋转效果): turnstile feather ...

  5. WP开发笔记——去除 HTML 标签

    获取到一段HTML类型的信息,显示在WP的webbrowser控件中,如果不加处理的话,会显示出各种神烦的HTML标签. 这时,需要我们将这HTML类型的信息进行处理去除HTML标签后再显示出来,这里 ...

  6. WP开发笔记——日期时间DateTime.Now函数

    //2008年4月24日 System.DateTime.Now.ToString("D"); //2008-4-24 System.DateTime.Now.ToString(& ...

  7. WP开发笔记——阻止Back后退键

    WP7中如何阻止Back后退键的后退事件呢? WP7上提供了物理的Back按键,获取Back物理键按下可以通过PhoneApplicationPage的BackKeyPress事件. 具体实现方法如下 ...

  8. WP开发笔记——控件倾斜效果

    创建一个基本的 Windows Phone 应用程序并添加 TiltEffect 类文件. 添加要倾斜的控件的分类. 全局应用 IsTiltEnabled 依赖项属性,以便为所有的指定控件提供倾斜功能 ...

  9. Android 开发笔记“程序安装包APK的制作”

    资源来源:http://blog.csdn.net/qualcent/article/details/6959547 完成Android项目后,需要将程序打包成APK文件(Android Packag ...

随机推荐

  1. php调试工具总结

    一:XDebug+Webgrind 二:XHProf

  2. WPF 之 未捕获异常的处理

    首先,我们当然是要求应用程序开发人员,尽可能地在程序可能出现异常的地方都去捕捉异常,使用try…catch的方式.但是总是有一些意外的情况可能会发生,这就导致会出现所谓的“未捕获异常(Unhandle ...

  3. 1.6.8 Content Streams

    1. Content Streams 当RequestHandlers请求基于URL路径来访问时,SolrQueryRequest包含了请求的参数,同样包含了ContentStreams(包含了大容量 ...

  4. MySQL(23):事务的隔离级别出现问题之 脏读

    1. 脏读 所谓的脏读就是指一个事务读取了另一个事务未提取的数据. 试想一下:a账户要给b账户100元购买商品,如果a账户开启一个事务,执行下面的update语句做了如下转账的工作: update a ...

  5. C# PageLayoutControl的基本操作

    来自:http://www.cnblogs.com/shenchao/p/3594394.html using System; using System.Collections.Generic; us ...

  6. 【阿里云产品公测】利用PTS服务优化网站数据库读写性能

    [阿里云产品公测]利用PTS服务优化网站数据库读写性能 作者:阿里云用户千鸟 写这个帖子主要也是因为在用PTS测试网站的时候,手动访问网站进入报错页面,主要原因是数据库连接对象存在问题,导致并发多的时 ...

  7. 控制语句(if-else+循环+switch)汇编规则

    [1]说说条件码 最常用的的条件码有: CF:进位标志 (无符号溢出) ZF:零标志 SF:符号标志(结果为负数) OF:溢出标志 (补码溢出, 有符号溢出) [2]有两类指令设置条件码而不改变任何其 ...

  8. codeforces 675D D. Tree Construction(线段树+BTS)

    题目链接: D. Tree Construction D. Tree Construction time limit per test 2 seconds memory limit per test ...

  9. 编译项目报错: Ignoring file / xxx , missing required architecture i386 in file / xxx (2 slices)

    .lib 或者 .a需用于真机版本,也就是ARM7的,如果你编译的是模拟器就会出现这个错误: 选择真机调试即可 .

  10. 自定义input file 属性

    <label class="input"><input title="浏览文件" type="file" />浏览… ...