Öffnen eines Fensters oder Dialogfelds (WPF .NET)

Sie können eigene Fenster erstellen und diese in Windows Presentation Foundation (WPF) anzeigen. In diesem Artikel erfahren Sie, wie Sie modale und nicht modale Fenster und Dialoge anzeigen können.

Konzeptionell sind ein Fenster und ein Dialogfeld dasselbe: Sie werden einem Benutzer angezeigt, um Informationen oder Interaktionen zu ermöglichen. Sie sind beide "Fenster"-Objekte. Das Design des Fensters und seine Verwendung machen ein Dialogfeld aus. Ein Dialogfeld ist in der Regel klein und erfordert, dass der Benutzer darauf reagiert. Weitere Informationen finden Sie unter Übersicht über WPF-Fenster und Dialogfelder.

Wenn Sie daran interessiert sind, Dialogfelder des Betriebssystems zu öffnen, lesen Sie Wie Sie ein allgemeines Dialogfeld öffnen.

Als modal öffnen

Wenn ein modales Fenster geöffnet wird, stellt es in der Regel ein Dialogfeld dar. WPF schränkt die Interaktion auf das modale Fenster ein, und der Code, der das Fenster geöffnet hat, wird angehalten, bis das Fenster geschlossen wird. Dieser Mechanismus bietet eine einfache Möglichkeit, den Benutzer zur Eingabe von Daten Aufforderungen und auf die Antwort zu warten.

Verwenden Sie die ShowDialog-Methode, um ein Fenster zu öffnen. Der folgende Code instanziiert das Fenster und öffnet es modal. Der Code, der das Fenster öffnet, wird angehalten und wartet darauf, dass das Fenster geschlossen wird:

var window = new Margins();

window.Owner = this;
window.ShowDialog();
Dim myWindow As New Margins()

myWindow.Owner = Me
myWindow.ShowDialog()

Wichtig

Sobald ein Fenster geschlossen wurde, kann dieselbe Objektinstanz nicht zum Erneuten Öffnen des Fensters verwendet werden.

Weitere Informationen zum Behandeln der Benutzerantwort auf ein Dialogfeld finden Sie in der Übersicht über Dialogfelder: Verarbeiten der Antwort.

Als nicht modal öffnen

Das Öffnen eines Fensters ohne Modus bedeutet, dass es als normales Fenster angezeigt wird. Der Code, der das Fenster öffnet, wird weiterhin ausgeführt, sobald das Fenster sichtbar wird. Sie können sich ohne Einschränkung auf alle von Ihrer Anwendung angezeigten nicht modalem Fenster konzentrieren und mit ihnen interagieren.

Verwenden Sie die Show-Methode, um ein Fenster zu öffnen. Der folgende Code instanziiert das Fenster und öffnet es nicht modal. Der Code, der das Fenster öffnet, wird weiterhin ausgeführt:

var window = new Margins();

window.Owner = this;
window.Show();
Dim myWindow As New Margins()

myWindow.Owner = Me
myWindow.Show()

Wichtig

Sobald ein Fenster geschlossen wurde, kann dieselbe Objektinstanz nicht zum Erneuten Öffnen des Fensters verwendet werden.

Weitere Informationen