2010-09-28 6 views
1

J'ai le code suivant dans une fenêtre B qui a commencé dans son propre fil d'une fenêtre A.Comment fermer une fenêtre en C#

view.Closing += (sender, e) => 
{ 
    view.Visibility = Visibility.Collapsed; 
    e.Cancel = true; 
}; 

Quand je ferme la fenêtre Une fenêtre B reste en mémoire et l'application ne dispose pas. Comment dois-je aller en avant assurez-vous que l'application est fermée lors de la fermeture de la fenêtre A.

éditer: la fenêtre B prend du temps à charger et à construire c'est pourquoi le code est là.

Répondre

3

utilisation Application.Exit();

Pour WPF: Application.Current.Shutdown();

+0

juste comme ça? – Makach

+0

Oui, il va quitter votre application. – Ruel

+0

J'ai modifié les balises: XBap ne signifie pas WinForms. –

2

solution de base: Window doit garder une ref à la fenêtre B et Dispose (le).

Vous devrez peut-être mettre la logique d'annulation en B sous condition.

+0

Application.Current.Shutdown() semble fonctionner correctement. Devrais-je emprunter l'itinéraire (légèrement) plus long et faire ce que vous proposez ici? – Makach

+0

Pas directement nécessaire, il peut être conseillé si vous avez beaucoup de nettoyage à faire dans la fenêtre (s) –

Questions connexes