Application.MainWindow Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém ou define a janela principal da aplicação.
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 Propriedade
A Window que é designado como a janela principal de aplicação.
Exceções
MainWindow é definido a partir de uma aplicação alojada num navegador, como aplicações de navegador XAML (XBAPs).
Exemplos
O exemplo seguinte mostra como encontrar a janela principal da aplicação.
// Get the main window
Window mainWindow = this.MainWindow;
' Get the main window
Dim mainWindow As Window = Me.MainWindow
O exemplo seguinte 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 seguinte mostra como instanciar o MainWindow código interno durante o arranque da aplicação.
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
Observações
MainWindow é automaticamente definido com uma referência ao primeiro Window objeto a ser instanciado no AppDomain.
Pode especificar uma janela principal diferente definindo MainWindow atribuindo outro objeto Windows à propriedade MainWindow.
Se a ShutdownMode propriedade do Application objeto estiver definida para OnMainWindowClose, fechar a janela principal faz com que a aplicação se desligue.
É possível definir a MainWindow propriedade a partir de XAML, se a janela principal de uma aplicação não for a janela produzida ao definir a StartupUri propriedade em XAML. As duas limitações da abordagem XAML são:
Pode especificar uma janela principal apenas Window para XAML ou apenas NavigationWindow para XAML.
Tens de definir a Visibility propriedade da janela que especificas, caso contrário não será mostrada.
A referência ao primeiro objeto Window a ser instanciado também é adicionada como o primeiro item à coleção Windows. Se MainWindow for subsequentemente definido com uma referência a um Window diferente, a posição do item com referência à janela principal mudará, enquanto a ordem dos itens em Windows permanece a mesma. Consequentemente, use sempre MainWindow para se referir à janela principal em vez do primeiro item em Windows.
Note
Se a janela principal for um NavigationWindow, e precisares de acesso específico aos NavigationWindow membros, terás de lançar o valor de MainWindow para NavigationWindow.
Esta propriedade está disponível apenas a partir do thread que criou o Application objeto.