Application.MainWindow 属性

定义

获取或设置应用程序的主窗口。

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

属性值

Window

一个指定为应用程序主窗口的 Window

例外

MainWindow 是从浏览器中托管的应用程序设置的,例如 XAML 浏览器应用程序 (XBAP) 。

示例

以下示例演示如何查找主应用程序窗口。

// Get the main window
Window mainWindow = this.MainWindow;
' Get the main window
Dim mainWindow As Window = Me.MainWindow

以下示例演示如何使用 XAML 进行设置 MainWindow

<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>

以下示例演示如何在应用程序启动期间实例化 MainWindow 代码。

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

注解

MainWindow使用对要实例化AppDomain的第一个Window对象的引用自动设置。

可以通过设置MainWindow向属性分配另一个对象MainWindow来指定不同的Windows主窗口。

ShutdownMode如果对象的属性Application设置为 OnMainWindowClose,则关闭主窗口会导致应用程序关闭。

如果应用程序的主窗口不是通过在 XAML 中设置StartupUri属性生成的窗口,则可以通过 XAML 设置属性来设置MainWindow该属性,则有可能设置 XAML 中的属性。 XAML 方法的两个限制是:

对要实例化的第一个 Window 对象的引用也将作为第一项 Windows 添加到集合中。 如果 MainWindow 随后使用对不同 Window窗口的引用进行设置,则具有对主窗口的引用的项的位置将发生更改,而项的顺序 Windows 保持不变。 因此,始终用于 MainWindow 引用主窗口而不是第 Windows一项。

备注

如果主窗口是一个 NavigationWindow,并且需要对成员的特定访问权限 NavigationWindow ,则需要将值 MainWindow 强制转换为 NavigationWindow

此属性仅适用于创建 Application 对象的线程。

适用于

另请参阅