Sdílet prostřednictvím


Window.Show Metoda

Definice

Otevře okno a vrátí se bez čekání na zavření nově otevřeného okna.

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

Výjimky

Show() je volána v okně, které je zavřené (Closing) nebo je zavřené (Closed).

Příklady

Následující ukázka ukazuje, jak otevřít bezmodální okno.

// 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()

Poznámky

Window Když je třída vytvořena instance, není ve výchozím nastavení viditelná. Show zobrazí okno a vrátí se okamžitě bez čekání na zavření okna. V důsledku toho otevřené okno nezabrání uživatelům v interakci s jinými okny v aplikaci. Tento typ okna se nazývá bezmodální okno. Mezi běžné příklady nemodních oken patří okna vlastností, sady nástrojů a palety. Chcete-li omezit uživatele na interakci s určitým oknem, musí být okno otevřeno voláním ShowDialog.

Okno otevřené voláním Show nemá automaticky relaci s oknem, které ho otevřelo, konkrétně otevřené okno neví, které okno ho otevřelo. Tuto relaci lze vytvořit pomocí Owner vlastnosti a spravovat ji pomocí OwnedWindows vlastnosti.

Volání Show dosáhne stejného koncového výsledku jako nastavení Visibility vlastnosti objektu Window na Visible. Mezi těmito dvěma z hlediska načasování je ale rozdíl.

Volání Show je synchronní operace, která se vrátí až po Loaded vyvolání události v podřízené okně:

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.")

Nastavení Visibilityje však asynchronní operace, která vrací okamžitě:

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.")

Při nastavování Visibilitynemusí být všechny události okna, které zaregistrujete před nastavením Visibility , vyvolány až po dokončení provádění metody, ve které jste nastavili Visibility .

Platí pro

Viz také