Condividi tramite


Window.Show Metodo

Definizione

Apre una finestra e restituisce un valore senza attendere la chiusura della finestra appena aperta.

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

Eccezioni

Show() viene chiamato su una finestra in fase di chiusura (Closing) o che è stata chiusa (Closed).

Esempio

L'esempio seguente illustra come aprire una finestra senza modalità.

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

Commenti

Quando la classe viene creata un'istanza Window , non è visibile per impostazione predefinita. Show mostra una finestra e restituisce immediatamente, senza attendere che la finestra venga chiusa. Di conseguenza, la finestra aperta non impedisce agli utenti di interagire con altre finestre nell'applicazione. Questo tipo di finestra viene chiamato finestra senza modalità . Esempi comuni di finestre senza modalità sono finestre di proprietà, strumenti e tavolozze. Per limitare l'interazione di un utente con una finestra specifica, la finestra deve essere aperta chiamando ShowDialog.

Una finestra aperta chiamando Show non ha automaticamente una relazione con la finestra aperta. In particolare, la finestra aperta non lo conosce. Questa relazione può essere stabilita usando la Owner proprietà e gestita usando la OwnedWindows proprietà .

La chiamata Show ottiene lo stesso risultato finale dell'impostazione Visibility della proprietà dell'oggetto Window su Visible. Tuttavia, esiste una differenza tra i due da un punto di vista temporale.

La chiamata Show è un'operazione sincrona che restituisce solo dopo che l'evento Loaded nella finestra figlio è stato generato:

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

L'impostazione Visibility, tuttavia, è un'operazione asincrona che restituisce immediatamente:

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

Quando si imposta Visibility, tutti gli eventi della finestra registrati prima che il set Visibility non venga generato fino a quando il metodo in cui è stato impostato Visibility è stata completata l'esecuzione.

Si applica a

Vedi anche