Udostępnij za pośrednictwem


Window.Show Metoda

Definicja

Otwiera okno i powraca bez oczekiwania na zamknięcie nowo otwartego okna.

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

Wyjątki

Show() jest wywoływany w oknie zamykającym (Closing) lub został zamknięty (Closed).

Przykłady

W poniższym przykładzie pokazano, jak otworzyć okno bez moderowania.

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

Uwagi

Po utworzeniu Window wystąpienia klasy nie jest ona domyślnie widoczna. Show wyświetla okno i zwraca natychmiast, bez oczekiwania na zamknięcie okna. W związku z tym otwarte okno nie uniemożliwia użytkownikom interakcji z innymi oknami w aplikacji. Ten typ okna jest nazywany oknem bez moderowania . Typowe przykłady okien bez moderowania to okna właściwości, przyborniki i palety. Aby ograniczyć użytkownikowi interakcję z określonym oknem, okno musi zostać otwarte przez wywołanie metody ShowDialog.

Okno otwarte przez wywołanie Show nie ma automatycznie relacji z otwartym oknem; w szczególności otwarte okno nie wie, które okno zostało otwarte. Tę relację można ustanowić przy użyciu Owner właściwości i zarządzać OwnedWindows przy użyciu właściwości .

Wywołanie Show powoduje osiągnięcie tego samego wyniku końcowego Window co ustawienie Visibility właściwości obiektu na Visible. Istnieje jednak różnica między nimi z perspektywy czasu.

Wywołanie Show jest operacją synchroniczną, która zwraca tylko po Loaded wywołaniu zdarzenia w oknie podrzędnym:

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

Ustawienie Visibility, jest jednak operacją asynchroniczną, która zwraca natychmiast:

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

Podczas ustawiania Visibilityustawienia wszystkie zdarzenia okna zarejestrowane przed ustawieniem Visibility mogą nie zostać zgłoszone do momentu zakończenia wykonywania metody, w której ustawiono Visibility wykonanie.

Dotyczy

Zobacz też