На всякий случай я добавлю два своих цента.
Моя проблема заключалась в том, что я не занимался устранением неполадок. Моё окно было дочерним окном, которое можно было открывать, закрывать и снова открывать, поэтому я добавил следующее, чтобы оно не закрывалось полностью:
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) {
e.Cancel = true;
this.Hide();
}
Однако, когда вызывался Window.Close, он только скрывал окно. В конце концов я понял и добавил следующее:
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();
}
Это работает нормально - он удаляет обработчик событий, не позволяющий закрыть окно, а затем закрывает его.