Freigeben über


AppWindow Klasse

Definition

Stellt einen vom System verwalteten Container für den Inhalt einer App dar.

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
Vererbung
Object Platform::Object IInspectable AppWindow
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10, version 1903 (eingeführt in 10.0.18362.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v8.0)

Hinweise

Hinweis

AppWindow ist derzeit in der Vorschauphase. Du kannst daher Apps, die AppWindow verwenden, an den Store übermitteln. Es ist jedoch von einigen Plattform- und Frameworkkomponenten bekannt, dass sie nicht mit AppWindow funktionieren (siehe Einschränkungen).

Ein AppWindow kann verwendet werden, um einen angezeigten Teil einer Windows-Runtime App darzustellen, wenn mehr als ein Fenster vorhanden ist. Dies ähnelt dem Konzept einer ApplicationView, unterscheidet sich jedoch im Verhalten und der Lebensdauer.

Im Gegensatz zu ApplicationView verfügt jedes AppWindow nicht über einen entsprechenden CoreWindow. Sie alle verwenden denselben Ui-Verarbeitungsthread (einschließlich des Ereignisverteilers), aus dem sie erstellt wurden.

Um ein Objekt dieses Typs abzurufen, rufen Sie AppWindow.TryCreateAsync auf.

Um Inhalte mit Ihrem AppWindow zu verbinden, rufen Sie ElementCompositionPreview.SetAppWindowContent auf.

Du kannst mit deinem AppWindow nur XAML-Inhalte verbinden, native DirectX- oder Holographic-Inhalte werden nicht unterstützt.

Verwenden Sie die WindowManagementPreview.SetPreferredMinSize-Methode , um eine bevorzugte Mindestgröße für das App-Fenster anzugeben.

Tipp

Weitere Informationen und Code zur Veranschaulichung von AppWindow finden Sie unter Anzeigen mehrerer Ansichten für eine App und Anzeigen mehrerer Ansichten mit AppWindow.

Ein Beispiel zur Verwendung der AppWindow-API finden Sie im Repository für universelle Windows-Beispiele auf GitHub unter Samples/AppWindow.

Einschränkungen

Einschränkungen in der aktuellen Vorschauversion von AppWindow umfassen (dies ist eine nicht erschöpfende Liste):

  • Jede API, die das GetForCurrentView-Muster verwendet, funktioniert für AppWindow nicht, da CurrentView auf die ApplicationView verweist, die eine separate Entität von AppWindow ist.
  • Die Wiedergabe von Vollbildmedien ist in MediaElement oder MediaPlayerElement nicht verfügbar.
  • MessageDialog ist nicht modal für das richtige Fenster. Es wird empfohlen, stattdessen ContentDialog zu verwenden.
  • WebView wird nicht vollständig unterstützt. Sie können eine In-Proc-WebView verwenden, aber alles außerhalb von statischen HTML-Inhalten funktioniert möglicherweise oder nicht ordnungsgemäß.
  • Wenn Sie die Window.Current.Content-Eigenschaft in XAML festlegen, werden alle XAML-Inhalte in Ihrem AppWindow zerstört. Vermeiden Sie dies als Muster, um Ihre Inhalte zurückzusetzen, wenn Sie Ihre App anhalten, wenn Sie AppWindow verwenden.
  • Smooth Window Resize funktioniert für AppWindows nicht. Die Größe des Frames und des Inhalts wird unabhängig voneinander geändert, was unpoliert aussehen kann, wenn das Inhaltslayout langsam ist.
  • Auf DisplayInformation kann für AppWindow nicht zugegriffen werden. Wenn sich Ihr AppWindow auf einem anderen Monitor als Ihre ApplicationView befindet, können Sie die richtigen Anzeigeinformationen nicht abfragen.
  • UserInteractionMode kann nicht für einen AppWindow festgelegt werden.
  • Druckdialoge (2D und 3D) werden nicht dem richtigen Fenster zugeordnet.
  • AppWindow kann nicht erkennen, wenn Kantengesten aufgerufen werden.
  • AppWindow kann nicht verwendet werden, um eine Aktivierungsanforderung über ActivationViewSwitcher zu erfüllen.

Eigenschaften

Content

Ruft den App-Inhalt ab, der derzeit an das Fenster angefügt ist.

DispatcherQueue

Ruft die Verteilerwarteschlange für das App-Fenster ab.

Frame

Ruft den Frame für das App-Fenster ab.

IsVisible

Ruft einen Wert ab, der angibt, ob das Fenster auf einer Anzeige angezeigt werden kann.

PersistedStateId

Ruft eine Zeichenfolge ab, die dieses Fenster zum Nachverfolgen und Speichern des Zustands identifiziert, oder legt diese fest.

Presenter

Ruft den Referenten für das App-Fenster ab.

Title

Ruft den angezeigten Titel des App-Fensters ab oder legt diese fest.

TitleBar

Ruft die Titelleiste des App-Fensters ab.

UIContext

Ruft den Benutzeroberflächenkontext für das App-Fenster ab.

WindowingEnvironment

Ruft die Fensterumgebung für das App-Fenster ab.

Methoden

ClearAllPersistedState()

Löscht alle Eigenschaften, die das System für alle Fenster PersistedStateId für die angegebene Anwendung gespeichert hat.

ClearPersistedState(String)

Löscht alle Eigenschaften, die das System für das Fenster mit der angegebenen ID für die angegebene Anwendung gespeichert hat.

CloseAsync()

Schließt das App-Fenster.

GetDisplayRegions()

Gibt die Auflistung der Anzeigebereiche zurück, die für das App-Fenster verfügbar sind.

GetPlacement()

Gibt ein Platzierungsobjekt zurück, das den Anzeigebereich, den Offset und die Größe des App-Fensters beschreibt.

RequestMoveAdjacentToCurrentView()

Sendet eine Anforderung zum Positionieren des Fensters neben der aktuellen Ansicht.

RequestMoveAdjacentToWindow(AppWindow)

Sendet eine Anforderung, das Fenster neben dem angegebenen Ankerfenster zu positionieren.

RequestMoveRelativeToCurrentViewContent(Point)

Sendet eine Anforderung zum Positionieren des Fensters am angegebenen Offset relativ zur aktuellen Ansicht.

RequestMoveRelativeToDisplayRegion(DisplayRegion, Point)

Führt eine Anforderung aus, um das Fenster im angegebenen Anzeigebereich am angegebenen Offset zu positionieren.

RequestMoveRelativeToWindowContent(AppWindow, Point)

Sendet eine Anforderung zum Positionieren des Fensters am angegebenen Offset relativ zum Ankerfenster.

RequestMoveToDisplayRegion(DisplayRegion)

Führt eine Anforderung aus, um das Fenster im angegebenen Anzeigebereich zu positionieren.

RequestSize(Size)

Sendet eine Anforderung, um das Fenster auf die angegebene Größe festzulegen.

TryCreateAsync()

Versucht, asynchron eine neue instance von AppWindow zu erstellen.

TryShowAsync()

Versucht, das aktuelle App-Fenster asynchron anzuzeigen.

Ereignisse

Changed

Tritt auf, wenn sich eine Eigenschaft des App-Fensters geändert hat.

Closed

Tritt auf, wenn das App-Fenster geschlossen wurde.

CloseRequested

Tritt auf, nachdem das Fenster geschlossen wird, aber vor dem Schließen und vor dem Auftreten des Closed-Ereignisses.

Gilt für: