Compartir vía


Cómo: Obtener y establecer la ventana principal de una aplicación

En este ejemplo se muestra cómo obtener y establecer la ventana principal de la aplicación.

Ejemplo

El primer Window del que se crea una instancia dentro de una aplicación de Windows Presentation Foundation (WPF) lo establece Application automáticamente como la ventana principal de la aplicación. El primer Window del que se va a crear una instancia probablemente será la ventana que se especifica como identificador uniforme de recursos de inicio (URI) (consulte StartupUri).

También se podría crear una instancia del primer Window mediante código. Un ejemplo es abrir una ventana durante el inicio de la aplicación, como la siguiente:

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

A veces, el primer Window del que se ha creado una instancia no es realmente la ventana principal de la aplicación, por ejemplo, una pantalla de presentación. En este caso, puede especificar la ventana principal de la aplicación mediante marcado, como el siguiente:

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

Si la ventana principal se especifica automáticamente o manualmente, puede obtener la ventana principal de MainWindow mediante el código siguiente, como el siguiente:

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