Как программно выйти или закрыть приложение UWP? (Windows 10)

Мне нужно это для их собственной кнопки выхода. Скажи мне, пожалуйста? Я пробую это:       this.Close();//или Выход не работает (

Ответы

Ответ 1

Вы можете использовать класс CoreApplication. Он предоставляет статический метод выхода:

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

Однако в документации указано следующее:

Примечание Не используйте этот метод для закрытия приложения вне сценариев тестирования или отладки.

К сожалению, причина этого остается нераскрытой.


Кроме того, вы можете использовать старомодный метод Application.Exit (нестатический):

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

Здесь вы также должны взглянуть на замечания:

Используйте этот метод для предоставления пользовательского интерфейса, который позволяет пользователям выйти из вашего приложения. Обычно, однако, вы не должны предоставлять этот интерфейс, потому что система автоматически управляет временем жизни приложения и прекращает приостанавливать приложения по мере необходимости, чтобы освободить ресурсы.

TL;DR: Оба метода Exit прекращают приложение, а не приостанавливают его. Вы должны спросить себя, действительно ли это действие, которое вы хотите сделать.

Ответ 2

Это поддерживаемый способ выхода из приложения UWP:

Application.Current.Exit();

Однако относительно редко вы должны его использовать. Внимательно изучите опыт пользовательского интерфейса, связанный со сценарием, в котором вы будете использовать этот метод. Например, может быть оправдано программное выключение приложения, если истек срок действия определенной учетной записи или удаленные разрешения безопасности удалены. Редко, что у вас есть собственная кнопка "Выход", сидящая посередине экрана, не противоречащая рекомендациям Windows.