web-dev-qa-db-fra.com

Comment quitter ou fermer une application UWP par programme? (Windows 10)

J'en ai besoin pour leur propre bouton de sortie. Dis-moi s'il te plaît? J'essaye ceci: this.Close (); // ou Exit ne fonctionne pas (

26
AlexeySRG

Vous pouvez utiliser la classe CoreApplication. Il fournit une méthode de sortie statique :

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

Cependant, la documentation indique ce qui suit:

Remarque N'utilisez pas cette méthode pour fermer une application en dehors des scénarios de test ou de débogage.

Malheureusement, la raison derrière cela n'est pas connue.


De plus, vous pouvez utiliser l'ancien Application.Exit méthode (non statique):

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

Ici, vous devriez également jeter un œil dans les remarques:

Utilisez cette méthode pour fournir une interface utilisateur qui permet aux utilisateurs de quitter votre application. En règle générale, cependant, vous ne devez pas fournir cette interface utilisateur, car le système gère automatiquement la durée de vie des applications et met fin aux applications suspendues selon les besoins pour libérer des ressources.

tl; dr: Les deux méthodes Exit mettront fin à l'application plutôt que de la suspendre. Vous devriez vous demander si c'est vraiment l'action que vous voulez faire.

55
Herdo

Voici la manière prise en charge de quitter une application UWP:

Application.Current.Exit();

Il est cependant relativement rare que vous l'utilisiez. Examinez attentivement l'expérience d'interface utilisateur liée au scénario dans lequel vous utiliseriez cette méthode. Par exemple, il peut être justifié de quitter une application par programme si un compte a expiré ou si les autorisations de sécurité gérées à distance ont été révoquées. Il est rare que vous ayez votre propre bouton "Quitter" au milieu de votre écran sans enfreindre les directives de Windows.

14
Ladi