Application.MainWindow Proprietà

Definizione

Ottiene o imposta la finestra principale dell'applicazione.

public:
 property System::Windows::Window ^ MainWindow { System::Windows::Window ^ get(); void set(System::Windows::Window ^ value); };
public System.Windows.Window MainWindow { get; set; }
member this.MainWindow : System.Windows.Window with get, set
Public Property MainWindow As Window

Valore della proprietà

Oggetto Window definito come finestra principale dell'applicazione.

Eccezioni

MainWindow viene impostato da un'applicazione ospitata in un browser, ad esempio applicazioni browser XAML (XBAP).

Esempio

Nell'esempio seguente viene illustrato come trovare la finestra principale dell'applicazione.

// Get the main window
Window mainWindow = this.MainWindow;
' Get the main window
Dim mainWindow As Window = Me.MainWindow

L'esempio seguente mostra come impostare MainWindow usando XAML.

<Application 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    StartupUri="StartupWindow.xaml"
    >
  <Application.MainWindow>
    <NavigationWindow Source="MainPage.xaml" Visibility="Visible"></NavigationWindow>
  </Application.MainWindow>
</Application>

Nell'esempio seguente viene illustrato come creare un'istanza di nel codice durante l'avvio MainWindow dell'applicazione.

public partial class App : Application
{
    void App_Startup(object sender, StartupEventArgs e)
    {
        MainWindow window = new MainWindow();
        window.Show();
    }
}
Partial Public Class App
    Inherits Application
    Private Sub App_Startup(ByVal sender As Object, ByVal e As StartupEventArgs)
        Dim window As New MainWindow()
        window.Show()
    End Sub
End Class

Commenti

MainWindow viene impostato automaticamente con un riferimento al primo Window oggetto di cui creare un'istanza AppDomainin .

È possibile specificare una finestra principale diversa impostando MainWindow l'assegnazione MainWindow di un altro Windows oggetto alla proprietà .

Se la ShutdownMode proprietà dell'oggetto Application è impostata su OnMainWindowClose, la chiusura della finestra principale determina l'arresto dell'applicazione.

È possibile impostare la proprietà da XAML, se la MainWindow finestra principale di un'applicazione non è la finestra prodotta impostando la StartupUri proprietà in XAML. Le due limitazioni dell'approccio XAML sono:

  • È possibile specificare solo XAML Window o solo XAML NavigationWindow come finestra principale.

  • È necessario impostare la Visibility proprietà della finestra specificata. In caso contrario, non verrà visualizzata.

Il riferimento al primo Window oggetto di cui creare un'istanza viene aggiunto anche come primo elemento all'insieme Windows . Se MainWindow successivamente viene impostato con un riferimento a un oggetto diverso Window, la posizione dell'elemento con il riferimento alla finestra principale cambierà, mentre l'ordine degli elementi in Windows rimane invariato. Di conseguenza, usare MainWindow sempre per fare riferimento alla finestra principale anziché al primo elemento in Windows.

Nota

Se la finestra principale è un NavigationWindowoggetto e è necessario un accesso specifico ai NavigationWindow membri, sarà necessario eseguire il cast del valore di MainWindow su NavigationWindow.

Questa proprietà è disponibile solo dal thread che ha creato l'oggetto Application .

Si applica a

Vedi anche