Compartir a través de


Application.MainWindow Propiedad

Definición

Obtiene o establece la ventana principal de la aplicación.

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

Valor de propiedad

Window que se designa como la ventana principal de la aplicación.

Excepciones

MainWindow se establece desde una aplicación hospedada en un explorador, como aplicaciones de explorador XAML (XBAP).

Ejemplos

En el ejemplo siguiente se muestra cómo buscar la ventana principal de la aplicación.

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

En el ejemplo siguiente se muestra cómo establecer MainWindow mediante 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>

En el ejemplo siguiente se muestra cómo crear una instancia del elemento en el código durante el MainWindow inicio de la aplicación.

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

Comentarios

MainWindowse establece automáticamente con una referencia al primer objeto al que se va a crear una instancia Window en .AppDomain

Puede especificar otra ventana principal estableciendo MainWindow la asignación de otro Windows objeto a la MainWindow propiedad .

Si la ShutdownMode propiedad del Application objeto se establece OnMainWindowCloseen , al cerrar la ventana principal, la aplicación se apagará.

Es posible establecer la MainWindow propiedad desde XAML, si la ventana principal de una aplicación no es la ventana que se genera estableciendo la StartupUri propiedad en XAML. Las dos limitaciones del enfoque XAML son:

  • Puedes especificar un solo Window XAML o solo XAML NavigationWindow como ventana principal.

  • Debe establecer la Visibility propiedad de la ventana que especifique; de lo contrario, no se mostrará.

La referencia al primer Window objeto al que se va a crear una instancia también se agrega como primer elemento a la Windows colección. Si MainWindow posteriormente se establece con una referencia a otra Window, la posición del elemento con la referencia a la ventana principal cambiará, mientras que el orden de los elementos de Windows permanece igual. Por lo tanto, use MainWindow siempre para hacer referencia a la ventana principal en lugar del primer elemento de Windows.

Nota:

Si la ventana principal es , NavigationWindowy necesita acceso específico a NavigationWindow los miembros, deberá convertir el valor de MainWindow en NavigationWindow.

Esta propiedad solo está disponible en el subproceso que creó el Application objeto .

Se aplica a

Consulte también