AppWindow Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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. |