Application.MainWindow Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define a janela principal do aplicativo.
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 da propriedade
Um Window que é designado como a janela principal do aplicativo.
Exceções
MainWindow é definido a partir de um aplicativo hospedado em um navegador, como um XBAPs (aplicativos do navegador XAML).
Exemplos
O exemplo a seguir mostra como encontrar a janela principal do aplicativo.
// Get the main window
Window mainWindow = this.MainWindow;
' Get the main window
Dim mainWindow As Window = Me.MainWindow
O exemplo a seguir mostra como definir 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>
O exemplo a seguir mostra como instanciar o MainWindow código in durante a inicialização do aplicativo.
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
Comentários
MainWindow é definido automaticamente com uma referência ao primeiro Window objeto a ser instanciado no AppDomain.
Você pode especificar uma janela principal diferente definindo MainWindow a atribuição de outro Windows objeto à MainWindow propriedade.
Se a ShutdownMode propriedade do Application objeto estiver definida como OnMainWindowClose, fechar a janela principal fará com que o aplicativo seja desligado.
É possível definir a MainWindow propriedade do XAML, se a janela principal de um aplicativo não for a janela produzida definindo a StartupUri propriedade em XAML. As duas limitações da abordagem XAML são:
Você pode especificar somente Window XAML ou XAML como NavigationWindow a janela principal.
Você deve definir a Visibility propriedade da janela especificada, caso contrário, ela não será mostrada.
A referência ao primeiro Window objeto a ser instanciado também é adicionada como o primeiro item à Windows coleção. Se MainWindow for definido posteriormente com uma referência a um diferente Window, a posição do item com a referência à janela principal será alterada, enquanto a ordem dos itens em Windows permanece a mesma. Consequentemente, sempre use MainWindow para fazer referência à janela principal em vez do primeiro item em Windows.
Observação
Se a janela principal for um NavigationWindow, e você precisar de acesso específico aos NavigationWindow membros, será necessário converter o valor para MainWindow NavigationWindow.
Essa propriedade está disponível somente no thread que criou o Application objeto.