Application.MainWindow Propriedade

Definição

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.

Aplica-se a

Ver também