2012-01-27 89 views
31

我是Win 8 Metro应用程序开发的新手,发现很多东西似乎都是从经典的WPF中改变而来。Metro应用程序不能再以编程方式被杀死?

最让我困扰的是,没有办法关闭应用程序。调试应用程序时,这非常烦人。因此,我正在寻找在我的应用程序中添加“关闭”按钮的方法。

不过,老WPF方式:

Application.Current.Shutdown() 

不再存在。我无法再在System.Diagnostics中找到Process类。

有谁知道如何做到这一点?

+0

如何只需按下'ALT + F4'? – Gabe 2012-01-27 02:53:48

+0

@加贝:不,“Alt + F4”不会关闭地铁应用程序(尽管我认为它可以与启用/安装的开发工具一起使用)。它也不会以编程方式进行。 :-) – 2012-01-27 02:57:15

+2

关闭的缺乏是由设计 - 终身管理应该照顾的资源,并在应用程序中的“关闭”按钮不屑一顾的UI设计。如果您只需关闭进行调试,是否考虑使用'taskkill'?您可以在桌面或任务栏上为它创建一个图标,然后为了方便分配一个快捷键。 – 2012-01-27 03:13:14

回答

32

您正在寻找App.Current.Exit()

+1

@OMA您是否发现在iPad/iPhone上更直观地关闭应用程序的方式? (按Home键离开应用程序,双击Home打开正在运行的应用程序列表,点击并按住应用程序的图标直到它开始晃动,然后按下小红十字将其关闭。) – 2012-10-03 06:01:32

+2

这并不是更好,但至少从一开始就是这种行为的新系统。在Windows 8的情况下,它只有在右上角按X才能关闭应用程序。为什么不保留地铁应用程序? (特别是在使用台式电脑时!)。这很容易,每个人都已经知道。除非在第一次运行Windows 8时显示教程(如果他们真的必须这样做,那么它只显示整个事情是多么不直观),否则将鼠标从上往下拖动以关闭应用程序是不容易发现的。 – OMA 2012-10-23 05:03:05

+1

不起作用,只是最小化应用程序。 – BrainSlugs83 2015-06-18 06:18:02

0

据我所知,无法关闭Metro应用程序(按设计)(使用Task-Manager是唯一有效的选项),据我所知,无法以编程方式退出Metro应用程序(也由设计)。

你可以尝试抛出一个未处理的异常(我不会建议这么做)。

+0

ALT + F4仍然适用于Windows应用商店应用 – 2012-11-09 08:27:08

+0

确实如此,但未在测试版和/或RC中。 – Jay 2012-11-23 03:13:34

1

这是我发现,关闭应用程序。

App.Current.Exit(); 
-3

我用崩溃代码退出Windows 8 Metro APP。 char * p = nullptr; * p = 1;

+0

永远不要让应用程序崩溃导致退出,这是非常糟糕的做法。另外,如果应用程序的崩溃计数太高,现在可以从Windows Store中撤销应用程序。 – 2013-01-08 14:05:04

+0

没有工作 - 它只是最小化了应用程序。 : - / – BrainSlugs83 2015-06-18 06:22:03

-1

试试这个。它的工作

App.Current.Terminate();