2015-09-20 225 views

回答

40

您可以使用CoreApplication類。它提供了一個static exit method

public void CloseApp() 
{ 
    CoreApplication.Exit(); 
} 

但是,文檔指出以下幾點:

注意不要使用此方法來關閉的測試或調試方案之外的應用程序。

不幸的是,背後的原因尚未公佈。


更進一步,你可以使用老式的Application.Exit方法(非靜態):

public void CloseApp() 
{ 
    Application.Current.Exit(); 
} 

在這裏,你還應該看看在備註:

使用此方法提供使用戶能夠退出您的應用程序的UI。但是,通常情況下,您不應該提供此UI,因爲系統會根據需要自動管理應用使用期限並終止暫停應用以釋放資源。

TL;博士: 兩種Exit方法將終止應用程序,而不是中止它。你應該問自己,這是否是你想要做的動作。

+1

原因是它違反UX指南,以編程方式關閉應用程序 –

9

這是退出UWP應用程序的支持方式:

Application.Current.Exit(); 

但是,由於它是比較罕見的,你應該使用它仔細考慮相關的場景,其中所述UI體驗您可以使用此方法,例如,如果某個帳戶已過期或者遠程管理的安全權限被撤銷,那麼以編程方式退出應用程序可能是合理的。很少有您自己的「退出」按鈕位於屏幕中間,而沒有違反Windows準則

+0

哇,太簡單了!謝謝! 「 – AlexeySRG

+4

」很少有你自己的「退出」按鈕坐在你的屏幕中間......「 - 這實際上很常見,因爲幾乎沒有例外,每一款遊戲都有一個退出按鈕! –

+0

你還會退出一個僅運行全屏的桌面應用程序嗎? – dynamichael

相關問題