Share via


Window クラス

定義

現在のアプリケーションのウィンドウを表 します

/// [Microsoft.UI.Xaml.Markup.ContentProperty(Name="Content")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Window
[Microsoft.UI.Xaml.Markup.ContentProperty(Name="Content")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class Window
Public Class Window
継承
Object IInspectable Window
属性

OnLaunched

次のコード例は、Microsoft Visual Studio のデスクトップ テンプレートの WinUI に対して生成された OnLaunched メソッドのオーバーライドを示しています。 このコードは、 の Activate メソッドの一般的な使用方法を Window示しています。

protected override void OnLaunched(Microsoft.UI.Xaml.LaunchActivatedEventArgs args)
{
    m_window = new MainWindow();
    m_window.Activate();
}

private Window m_window;

新しいウィンドウを作成する

アプリでは、各ウィンドウを明示的に作成できます。 複数のウィンドウを作成するには、WindowsAppSDK に対する 1.0.1 更新プログラムが必要であり、1 つのスレッドに制限されます。

var window = new Window();
window.Content = new TextBlock() { Text = "Hello" };
window.Activate();

マークアップで新しいウィンドウを定義することもできます。

<Window 
    x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <TextBlock>Hello</TextBlock>
</Window>

対応する分離コード:

public partial class MainWindow : Window
{
  public MainWindow()
  {
    InitializeComponent();
  }
}

...
var window = new MainWindow();
window.Activate();

注釈

アプリでは、スレッドごとに複数 Window のを作成できます。 「例」の「新しいウィンドウを作成する」を参照してください。

Windowは、ウィンドウの HWND (WindowHandle) を介した相互運用を有効にする IWindowNative を実装します。

通常、 は、Windowアプリ UI を表す ContentUIElement を設定するために使用されます。 これは通常、アプリのアクティブ化 ( OnLaunched オーバーライドなど) の一環として行われ、ウィンドウの有効期間を通じてウィンドウの内容を変更できます。

最初の アクティブ化 で使用した場合は Window 、必ず Activate を呼び出してください。 Microsoft Visual Studio の既定のアプリ テンプレートを使用する場合、 Window.Activate は App.xaml 分離コード ファイルに含まれます。

コンストラクター

Window()

Window クラスの新しいインスタンスを初期化します。

プロパティ

AppWindow

この XAML に関連付けられている を AppWindow 取得します Window

Bounds

有効 (ビュー) ピクセル単位でアプリケーション ウィンドウの高さと幅を含む Rect 値を取得します。

Compositor

このウィンドウの コンポジター を取得します。

Content

アプリケーション ウィンドウのビジュアル ルートを取得または設定します。

CoreWindow

デスクトップ アプリは常に、このプロパティに対して を返します null

Current

デスクトップ アプリは常に、このプロパティに対して を返します null

Dispatcher

常に Windows アプリ SDK アプリで を返しますnull

注意

Window.Dispatcher は、今後のリリースで変更または使用できない可能性があります。 代わりに Window.DispatcherQueue を使用してください。

DispatcherQueue

ウィンドウの DispatcherQueue オブジェクトを取得します。

ExtendsContentIntoTitleBar

アプリ コンテンツの領域を作成するために、ウィンドウの既定のタイトル バーを非表示にするかどうかを指定する値を取得または設定します。

SystemBackdrop

この Windowに適用するシステムの背景を取得または設定します。 背景はコンテンツの背後に Window レンダリングされます。

Title

ウィンドウ タイトルに使用される文字列を取得または設定します。

Visible

ウィンドウが表示されているかどうかを報告する値を取得します。

メソッド

Activate()

アプリケーション ウィンドウをフォアグラウンドに移動し、入力フォーカスを設定して、アプリケーション ウィンドウのアクティブ化を試みます。

Close()

アプリケーション ウィンドウを閉じます。

SetTitleBar(UIElement)

trueの場合、XAML 要素に対するタイトル バーの動作をExtendsContentIntoTitleBar有効にします。

イベント

Activated

ウィンドウが正常にアクティブ化されたときに発生します。

Closed

ウィンドウが閉じられたときに発生します。

SizeChanged

アプリ ウィンドウが最初にレンダリングされたとき、またはレンダリング サイズが変更されたときに発生します。

VisibilityChanged

Visible プロパティの値が変更されたときに発生します。

適用対象

こちらもご覧ください