AppWindow クラス

定義

アプリのコンテンツのシステムマネージド コンテナーを表します。

public ref class AppWindow sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 524288)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class AppWindow final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 524288)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class AppWindow
Public NotInheritable Class AppWindow
継承
Object Platform::Object IInspectable AppWindow
属性

Windows の要件

デバイス ファミリ
Windows 10, version 1903 (10.0.18362.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v8.0 で導入)

注釈

注意

AppWindow は現在、プレビュー段階です。 つまり、AppWindow を使用するアプリを Store に送信することはできますが、一部のプラットフォームおよびフレームワーク コンポーネントが AppWindow では動作しないことがわかっています (「制限事項」を参照)。

AppWindow を使用すると、複数のウィンドウがある場合にWindows ランタイム アプリの表示部分を表すことができます。 概念的には ApplicationView に似ていますが、動作や有効期間が異なります。

ApplicationView とは異なり、各 AppWindow には対応する CoreWindow がありません。 これらはすべて、作成元の同じ UI 処理スレッド (イベント ディスパッチャーを含む) を共有します。

この型のオブジェクトを取得するには、 AppWindow.TryCreateAsync を呼び出します。

AppWindow にコンテンツを接続するには、 ElementCompositionPreview.SetAppWindowContent を呼び出します。

XAML コンテンツは自分の AppWindow にしか接続できず、ネイティブな DirectX またはホログラフィック コンテンツのサポートはありません。

アプリ ウィンドウに推奨される最小サイズを指定するには、 WindowManagementPreview.SetPreferredMinSize メソッドを 使用します。

ヒント

AppWindow を示す詳細とコードについては、「アプリの 複数のビューを表示する 」および「 AppWindow で複数のビューを表示する」を参照してください。

AppWindow API の使用方法を示すサンプルは、GitHub の Windows ユニバーサル サンプル リポジトリの Samples/AppWindow にあります。

制限事項

AppWindow の現在のプレビュー バージョンの制限事項には、次のようなものがあります (これは完全なリストではありません)。

  • CurrentView は AppWindow とは別のエンティティである ApplicationView を参照するため、GetForCurrentView パターンを使用する API は AppWindow では機能しません。
  • MediaElement または MediaPlayerElement では、全画面表示メディアの再生は使用できません。
  • MessageDialog は正しいウィンドウにモーダルではなく、代わりに ContentDialog を使用することをお勧めします。
  • WebView は完全にはサポートされていません。 インプロセス WebView を使用できますが、静的 HTML コンテンツの外部にあるものは、正しく動作する場合と正しく動作しない場合があります。
  • XAML で Window.Current.Content プロパティを設定すると、AppWindow 内のすべての XAML コンテンツが破棄されます。 AppWindow を使用する場合は、アプリを中断するときにコンテンツをリセットするパターンとしてこれを使用しないでください。
  • AppWindows では、ウィンドウのサイズ変更がスムーズに機能しません。 フレームとコンテンツのサイズは個別に変更されます。これは、コンテンツレイアウトが遅い場合に見える場合があります。
  • AppWindow では DisplayInformation にアクセスできません。 AppWindow が ApplicationView とは異なるモニター上にある場合、正しい表示情報を照会することはできません。
  • AppWindow に対して UserInteractionMode を設定することはできません。
  • 印刷ダイアログ (2D と 3D) は正しいウィンドウに親になりません。
  • AppWindow では、エッジ ジェスチャがいつ呼び出されているかを検出できません。
  • AppWindow を使用して ActivationViewSwitcher を使用してアクティブ化要求を満たすことはできません。

プロパティ

Content

ウィンドウに現在アタッチされているアプリ コンテンツを取得します。

DispatcherQueue

アプリ ウィンドウのディスパッチャー キューを取得します。

Frame

アプリ ウィンドウのフレームを取得します。

IsVisible

ウィンドウをディスプレイに表示できるかどうかを示す値を取得します。

PersistedStateId

状態を追跡および保存するために、このウィンドウを識別する文字列を取得または設定します。

Presenter

アプリ ウィンドウの発表者を取得します。

Title

アプリ ウィンドウの表示タイトルを取得または設定します。

TitleBar

アプリ ウィンドウのタイトル バーを取得します。

UIContext

アプリ ウィンドウの UI コンテキストを取得します。

WindowingEnvironment

アプリ ウィンドウのウィンドウ環境を取得します。

メソッド

ClearAllPersistedState()

特定のアプリケーションの PersistedStateId ウィンドウに対してシステムが保存したすべてのプロパティをクリアします。

ClearPersistedState(String)

指定したアプリケーションの指定した ID を使用して、ウィンドウに対してシステムが保存したプロパティをすべてクリアします。

CloseAsync()

アプリ ウィンドウを閉じます。

GetDisplayRegions()

アプリ ウィンドウで使用できる表示領域のコレクションを返します。

GetPlacement()

アプリ ウィンドウの表示領域、オフセット、およびサイズを記述する配置オブジェクトを返します。

RequestMoveAdjacentToCurrentView()

現在のビューの横にウィンドウを配置するように要求します。

RequestMoveAdjacentToWindow(AppWindow)

指定したアンカー ウィンドウの横にウィンドウを配置するように要求します。

RequestMoveRelativeToCurrentViewContent(Point)

現在のビューを基準にして、指定したオフセットにウィンドウを配置するように要求します。

RequestMoveRelativeToDisplayRegion(DisplayRegion, Point)

指定した表示領域の指定したオフセットにウィンドウを配置するように要求します。

RequestMoveRelativeToWindowContent(AppWindow, Point)

アンカー ウィンドウを基準にして、指定したオフセットにウィンドウを配置するように要求します。

RequestMoveToDisplayRegion(DisplayRegion)

指定した表示領域にウィンドウを配置するように要求します。

RequestSize(Size)

ウィンドウを指定したサイズに設定するように要求します。

TryCreateAsync()

AppWindow の新しいインスタンスを非同期的に作成しようとします。

TryShowAsync()

現在のアプリ ウィンドウを非同期的に表示しようとします。

イベント

Changed

アプリ ウィンドウのプロパティが変更されたときに発生します。

Closed

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

CloseRequested

ウィンドウが閉じ始めてから閉じる前、Closed イベントが発生する前に発生します。

適用対象