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, nie czekając 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, należy otworzyć okno przez wywołanie polecenia ShowDialog.

Okno otwierane 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ądzanej OwnedWindows za pomocą 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 Visiblewartość . Istnieje jednak różnica między nimi z perspektywy czasu.

Wywołanie to synchroniczna operacja, która jest zwracana tylko po Loaded wywołaniu Show 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 ustawienia Visibilitywszystkie zdarzenia okna zarejestrowane przed ustawieniem Visibility mogą nie zostać podniesione do momentu zakończenia wykonywania ustawionej Visibility metody.

Dotyczy

Zobacz też