Compartilhar via


Application.MainWindow Propriedade

Definição

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

Window

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.

Aplica-se a

Confira também