Window.Show Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
Příklady
Následující ukázka ukazuje, jak otevřít nemodá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
Při vytvoření Window instance třídy není ve výchozím nastavení viditelná. Show zobrazí okno a vrátí se okamžitě, aniž by se čekalo 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á nemodální okno. Mezi běžné příklady nemodálních oken patří okna vlastností, sady nástrojů a palety. Pokud chcete omezit interakci uživatele s určitým oknem, musí být okno otevřeno voláním ShowDialog.
Okno, které je otevřeno voláním Show , nemá automaticky relaci s oknem, které ho otevřelo; konkrétně otevřené okno neví, které okno se otevřelo. Tuto relaci lze navázat pomocí Owner vlastnosti a spravovat pomocí vlastnosti OwnedWindows .
Volání Show dosáhne stejného koncového výsledku jako nastavení Visibility vlastnosti objektu Window na Visible. Z hlediska časování je mezi nimi ale rozdíl.
Volání Show je synchronní operace, která se vrací 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 nastavení Visibilityse události okna, které zaregistrujete před nastavením Visibility , nemusí být vyvolány, dokud metoda, ve které jste nastavili Visibility , nedokončí provádění.