Juste au cas où, je vais ajouter mon grain de sel.
Mon problème était que je n'avais pas fait assez de dépannage. Ma fenêtre est une fenêtre enfant qui pourrait être ouvert, fermé et ré-ouvert, j'ai donc ajouté ce qui suit à l'empêcher de se fermer complètement:
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
e.Cancel = true;
this.Hide();
}
Toutefois, lorsque la Fenêtre.Proche a été appelé, il a caché la fenêtre. Finalement, j'ai pris sur, et a ajouté ce qui suit:
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
e.Cancel = true;
this.Hide();
}
public void Close()
{
this.Closing -= Window_Closing;
//Add closing logic here.
base.Close();
}
Cela fonctionne très bien - il supprime le gestionnaire d'événement de la prévention de la fenêtre soit fermée, et puis le referme.