如何:获取和设置主应用程序窗口

此示例演示如何获取和设置主应用程序窗口。

在 Windows Presentation Foundation(WPF)应用程序中,第一个被实例化的 Window 会自动由 Application 设置为主应用程序窗口。 要实例化的第一个 Window 很可能是指定为启动统一资源标识符(URI)的窗口(请参阅 StartupUri)。

也可以通过代码实例化第一个 Window。 一个示例是在应用程序启动期间打开窗口,如下所示:

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

有时,第一个实例化的 Window 实际上不是主应用程序窗口,例如启动画面。 在这种情况下,可以使用标记指定主应用程序窗口,如下所示:

<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 获取主窗口,如下所示:

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