System.Windows 名前空間


.NET Framework クラス ライブラリ
Window クラス

更新 : 2008 年 7 月

ウィンドウおよびダイアログ ボックスの作成、構成、表示、および有効期間の管理を可能にします。

名前空間 :  System.Windows
アセンブリ :  PresentationFramework (PresentationFramework.dll 内)
XAML の XMLNS : http://schemas.microsoft.com/winfx/xaml/presentation

構文

Visual Basic (宣言)
<LocalizabilityAttribute(LocalizationCategory.Ignore)> _
<UIPermissionAttribute(SecurityAction.InheritanceDemand, Window := UIPermissionWindow.AllWindows)> _
Public Class Window _
    Inherits ContentControl
Visual Basic (使用法)
Dim instance As Window
C#
[LocalizabilityAttribute(LocalizationCategory.Ignore)]
[UIPermissionAttribute(SecurityAction.InheritanceDemand, Window = UIPermissionWindow.AllWindows)]
public class Window : ContentControl
Visual C++
[LocalizabilityAttribute(LocalizationCategory::Ignore)]
[UIPermissionAttribute(SecurityAction::InheritanceDemand, Window = UIPermissionWindow::AllWindows)]
public ref class Window : public ContentControl
J#
/** @attribute LocalizabilityAttribute(LocalizationCategory.Ignore) */
/** @attribute UIPermissionAttribute(SecurityAction.InheritanceDemand, Window = UIPermissionWindow.AllWindows) */
public class Window extends ContentControl
JScript
public class Window extends ContentControl
XAML オブジェクト要素の使用
<Window>
  Content
</Window>
解説

ユーザーとスタンドアロン アプリケーションの間の対話が行われる場所は、ウィンドウです。Windows Presentation Foundation (WPF) ウィンドウは、2 つの領域で構成されます。

  • アイコン、タイトル、システム メニュー、最小化ボタン、最大化ボタン、復元ボタン、閉じるボタン、境界線などのウィンドウ装飾物をホストする非クライアント領域。

  • アプリケーション固有のコンテンツをホストするクライアント領域。

標準的なウィンドウを次の図に示します。

ウィンドウ要素

Window は、ウィンドウとダイアログ ボックスの作成、構成、表示、および有効期間管理のための機能をカプセル化し、次の主なサービスを提供します。

有効期間管理 : ActivateActivatedCloseClosedClosingDeactivatedHideIsActiveShowSourceInitialized

ウィンドウの管理 : GetWindowOwnedWindowsOwner

外観および動作 : AllowsTransparencyContentRenderedDragMoveIconLeftLocationChangedResizeModeRestoreBoundsShowActivatedShowInTaskbarSizeToContentStateChangedTitleTopTopmostWindowStartupLocationWindowStateWindowStyle

ダイアログ ボックス : DialogResultShowDialog

さらに、Application はアプリケーションのすべてのウィンドウを管理するための特別なサポートを公開します。

  • アプリケーションは、アプリケーションで現在インスタンス化されているすべてのウィンドウのリストを保持します。このリストは、Windows プロパティによって公開されます。

  • 既定では、MainWindow にはアプリケーションでインスタンス化された最初の Window への参照が自動的に設定されます。そのため、このウィンドウがメイン アプリケーション ウィンドウになります。

Window は、マークアップ、マークアップと分離コード、またはコードを使用して実装することができます。

Window は、主にスタンドアロン アプリケーションのウィンドウやダイアログ ボックスを表示するために使用されます。ただし、ウィザードなど、ウィンドウ レベルでのナビゲーションが必要なアプリケーションでは、代わりに NavigationWindow を使用できます。NavigationWindowWindow から派生し、ブラウザ スタイル ナビゲーションのサポートによってウィンドウを拡張します。

メモ :

Frame を使用して、ナビゲーション可能なコンテンツのアイランドを、他のコンテンツやコンテンツ コンテナに組み込むことができます。

Window をインスタンス化するには、UnmanagedCode セキュリティ アクセス許可が必要です。これによって次のような結果が生じます。

  • ClickOnce で展開されたスタンドアロン アプリケーションは、インターネット ゾーンまたはローカル イントラネット ゾーンから起動されたときに、アクセス許可の昇格を要求します。

  • 完全なアクセス許可よりも低いアクセス許可を要求する XBAP は、ウィンドウまたはダイアログ ボックスをインスタンス化することはできません。

スタンドアロン アプリケーションの配置およびセキュリティに関する考慮事項については、「Windows Presentation Foundation のセキュリティ方針 - プラットフォーム セキュリティ」を参照してください。

コンテンツ モデル : WindowContentControl です。これは、Window にテキスト、イメージ、パネルなどのコンテンツを含めることができることを意味します。また、Window はルート要素であり、したがって別の要素のコンテンツの一部として使用することはできません。Window コンテンツ モデルの詳細については、「コンテンツ モデル」を参照してください。


マークアップのみを使用して標準のウィンドウを定義する方法を次の例に示します。

C#
<Window 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    Title="Main Window in Markup Only" 
    Height="300" 
    Width="300" />

コードのみを使用して標準のウィンドウを定義する方法を次の例に示します。

C#
using System;
using System.Windows;

namespace CSharp
{
    public partial class CodeOnlyWindow : Window
    {
        public CodeOnlyWindow()
        {
            this.Title = "Main Window in Code Only";
            this.Width = 300;
            this.Height = 300;
        }
    }
}

マークアップと分離コードの組み合わせを使用して標準のウィンドウを定義する方法を次の例に示します。

C#
<Window 
    x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Main Window" 
    Height="300" 
    Width="300" />
C#
using System;
using System.Windows;
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }
}
継承階層

System..::.Object
  System.Windows.Threading..::.DispatcherObject
    System.Windows..::.DependencyObject
      System.Windows.Media..::.Visual
        System.Windows..::.UIElement
          System.Windows..::.FrameworkElement
            System.Windows.Controls..::.Control
              System.Windows.Controls..::.ContentControl
                System.Windows..::.Window
                  System.Windows.Navigation..::.NavigationWindow
スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム

Windows Vista

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 3.5、3.0
参照

参照

その他の技術情報

履歴の変更

日付

履歴

理由

2008 年 7 月

新しいメンバを追加 : ShowActivated プロパティ、ShowActivatedProperty フィールド。

SP1 機能変更

タグ :


Page view tracker