Condividi tramite


Procedura: Ottenere e impostare la finestra principale dell'applicazione

In questo esempio viene illustrato come ottenere e impostare la finestra principale dell'applicazione.

Esempio

Il primo Window oggetto di cui viene creata un'istanza all'interno di un'applicazione Windows Presentation Foundation (WPF) viene impostato Application automaticamente come finestra principale dell'applicazione. Il primo Window a cui creare un'istanza sarà probabilmente la finestra specificata come URI (Uniform Resource Identifier) di avvio (vedere StartupUri).

È anche possibile creare un'istanza del primo Window usando il codice. Un esempio è l'apertura di una finestra durante l'avvio dell'applicazione, come illustrato di seguito:

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

In alcuni casi, la prima Window istanza non è in realtà la finestra principale dell'applicazione, ad esempio una schermata iniziale. In questo caso, è possibile specificare la finestra principale dell'applicazione usando il markup, come indicato di seguito:

<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>

Se la finestra principale viene specificata automaticamente o manualmente, è possibile ottenere la finestra MainWindow principale usando il codice seguente, come illustrato di seguito:

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