Freigeben über


Window.Show Methode

Definition

Öffnet ein Fenster und wird beendet, ohne auf das Schließen des neu geöffneten Fensters zu warten.

public:
 void Show();
public void Show ();
member this.Show : unit -> unit
Public Sub Show ()

Ausnahmen

Show() wird für ein Fenster aufgerufen, das geschlossen wird (Closing) oder geschlossen wurde (Closed).

Beispiele

Im folgenden Beispiel wird das Öffnen eines moduslosen Fensters veranschaulicht.

// Initialize window
Window window = new Window();

// Show window modelessly
// NOTE: Returns without waiting for window to close
window.Show();
' Initialize window
Dim window As New Window()

' Show window modelessly
' NOTE: Returns without waiting for window to close
window.Show()

Hinweise

Wenn die Window Klasse instanziiert wird, ist sie standardmäßig nicht sichtbar. Show zeigt ein Fenster an und kehrt sofort zurück, ohne darauf zu warten, dass das Fenster geschlossen wird. Daher hindert das geöffnete Fenster benutzer nicht daran, mit anderen Fenstern in der Anwendung zu interagieren. Dieser Fenstertyp wird als modusloses Fenster bezeichnet. Gängige Beispiele für moduslose Fenster sind Eigenschaftenfenster, Toolboxes und Paletten. Um einen Benutzer auf die Interaktion mit einem bestimmten Fenster zu beschränken, muss das Fenster durch Aufrufen ShowDialoggeöffnet werden.

Ein Fenster, das durch aufrufen Show geöffnet wird, verfügt nicht automatisch über eine Beziehung zu dem Fenster, das es geöffnet hat. Insbesondere weiß das geöffnete Fenster nicht, welches Fenster es geöffnet hat. Diese Beziehung kann mithilfe der Owner -Eigenschaft hergestellt und mit der OwnedWindows -Eigenschaft verwaltet werden.

Das Aufrufen Show erreicht das gleiche Endergebnis wie das Festlegen Visibility der -Eigenschaft des Window -Objekts auf Visible. Es gibt jedoch einen Unterschied zwischen den beiden aus zeitlicher Sicht.

Das Aufrufen Show ist ein synchroner Vorgang, der erst zurückgegeben wird, nachdem das Loaded Ereignis im untergeordneten Fenster ausgelöst wurde:

Window w = new Window();
w.Loaded += delegate { System.Console.WriteLine("This is written first."); };
w.Show();
System.Console.WriteLine("This is written last.");
Dim w As New Window()
AddHandler w.Loaded, Sub() System.Console.WriteLine("This is written first.")
w.Show()
System.Console.WriteLine("This is written last.")

Das Festlegen Visibilityvon ist jedoch ein asynchroner Vorgang, der sofort zurückgibt:

Window w2 = new Window();
w2.Loaded += delegate { System.Console.WriteLine("This is written last."); };
w2.Visibility = Visibility.Visible;
System.Console.WriteLine("This is written first.");
Dim w2 As New Window()
AddHandler w2.Loaded, Sub() System.Console.WriteLine("This is written last.")
w2.Visibility = Visibility.Visible
System.Console.WriteLine("This is written first.")

Beim Festlegen Visibilitywerden alle Fensterereignisse, die Sie vor dem Festlegen Visibility registrieren, möglicherweise erst ausgelöst, nachdem die Von Ihnen festgelegte Visibility Methode die Ausführung abgeschlossen hat.

Gilt für:

Weitere Informationen