Application.MainWindow Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 .