Application.MainWindow Application.MainWindow Application.MainWindow Application.MainWindow Property

定義

アプリケーションのメイン ウィンドウを取得または設定します。Gets or sets the main window of the application.

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

プロパティ値

メイン アプリケーション ウィンドウとして指定される WindowA Window that is designated as the main application window.

例外

MainWindow は、ブラウザーでホストされるアプリケーション (XAML ブラウザー アプリケーション (XBAP)XAML browser applications (XBAPs) など) から設定されます。MainWindow is set from an application that's hosted in a browser, such as an XAML ブラウザー アプリケーション (XBAP)XAML browser applications (XBAPs).

次の例では、アプリケーションのメイン ウィンドウを検索する方法を示します。The following example shows how to find the main application window.

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

次の例は、設定する方法を示しますMainWindowを使用してXAMLXAMLします。The following example shows how to set MainWindow using XAMLXAML.

<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アプリケーションの起動時にコードにします。The following example shows how to instantiate the MainWindow in code during application startup.

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 最初への参照が自動的に設定Windowでインスタンス化するオブジェクト、AppDomainします。MainWindow is automatically set with a reference to the first Window object to be instantiated in the AppDomain.

別のメイン ウィンドウを指定するを設定MainWindow別の割り当てWindowsオブジェクトをMainWindowプロパティ。You can specify a different main window by setting MainWindow assigning another Windows object to the MainWindow property.

場合、ShutdownModeのプロパティ、Applicationにオブジェクトが設定されているOnMainWindowClose、シャット ダウンするアプリケーションのメイン ウィンドウを閉じるとします。If the ShutdownMode property of the Application object is set to OnMainWindowClose, closing the main window causes the application to shut down.

設定することは、MainWindowプロパティからXAMLXAMLアプリケーションのメイン ウィンドウは、設定によって生成されるウィンドウではない場合、StartupUriプロパティXAMLXAMLIt is possible to set the MainWindow property from XAMLXAML, if an application's main window is not the window that is produced by setting the StartupUri property in XAMLXAML. 2 つの制限、XAMLXAMLアプローチには。The two limitations of the XAMLXAML approach are:

  • どちらかを指定することができます、 XAMLXAML-のみWindowまたはXAMLXAML-のみNavigationWindowのメイン ウィンドウとします。You can specify either a XAMLXAML-only Window or a XAMLXAML-only NavigationWindow as the main window.

  • 設定する必要があります、Visibilityウィンドウのプロパティを指定する、それ以外の場合に表示されません。You must set the Visibility property of the window you specify, otherwise it won't be shown.

最初に参照Windowインスタンス化されるオブジェクトが最初の項目としても追加、Windowsコレクション。The reference to the first Window object to be instantiated is also added as the first item to the Windows collection. 場合MainWindow別への参照で設定した場合はWindow、項目の順序の中に、メイン ウィンドウへの参照を持つ項目の位置が変更されるWindowsは変わりません。If MainWindow is subsequently set with a reference to a different Window, the position of the item with the reference to the main window will change, while the order of items in Windows remains the same. そのため、常に使用MainWindowの最初の項目ではなく、メイン ウィンドウを参照するWindowsします。Consequently, always use MainWindow to refer to the main window instead of the first item in Windows.

注意

メイン ウィンドウがある場合、NavigationWindowへのアクセスを必要とNavigationWindow、メンバーの値をキャストする必要がMainWindowNavigationWindowします。If the main window is a NavigationWindow, and you need specific access to NavigationWindow members, you will need to cast the value of MainWindow to NavigationWindow.

このプロパティは、作成したスレッドからのみ使用可能なApplicationオブジェクト。This property is available only from the thread that created the Application object.

適用対象

こちらもご覧ください