AppWindow Clase

Definición

Representa un contenedor administrado por el sistema para el contenido de una aplicación.

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
Herencia
Object Platform::Object IInspectable AppWindow
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10, version 1903 (se introdujo en la versión 10.0.18362.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v8.0)

Comentarios

Nota:

AppWindow se encuentra actualmente en versión preliminar. Esto significa que puedes enviar aplicaciones que usan AppWindow a Microsoft Store, pero se sabe que algunos componentes de la plataforma y el marco no funcionan con AppWindow (consulta Limitaciones).

Una instancia de AppWindow se puede usar para representar una parte mostrada de una aplicación de Windows Runtime cuando tiene más de una ventana. Es similar en concepto a ApplicationView, pero no tiene el mismo comportamiento ni duración.

A diferencia de ApplicationView, cada AppWindow no tiene un coreWindow correspondiente. Todos comparten el mismo subproceso de procesamiento de la interfaz de usuario (incluido el distribuidor de eventos) desde el que se crearon.

Para obtener un objeto de este tipo, llame a AppWindow.TryCreateAsync.

Para conectar contenido a AppWindow, llame a ElementCompositionPreview.SetAppWindowContent.

Solo puedes conectar contenido XAML a tu control AppWindow, no se admite contenido de DirectX ni Holographic nativo.

Para especificar un tamaño mínimo preferido para la ventana de la aplicación, use el método WindowManagementPreview.SetPreferredMinSize .

Sugerencia

Para obtener más información y código que muestra AppWindow, consulta Mostrar varias vistas para una aplicación y Mostrar varias vistas con AppWindow.

Un ejemplo que muestra cómo usar la API de AppWindow se puede encontrar en el repositorio de ejemplos universales de Windows en GitHub en Samples/AppWindow.

Limitaciones

Entre las limitaciones de la versión preliminar actual de AppWindow se incluyen (se trata de una lista no exhaustiva):

  • Cualquier API que use el patrón GetForCurrentView no funciona para AppWindow, ya que CurrentView hace referencia a ApplicationView, que es una entidad independiente de AppWindow.
  • La reproducción multimedia de pantalla completa no está disponible en MediaElement o MediaPlayerElement.
  • MessageDialog no será modal en la ventana correcta; en su lugar, se recomienda usar ContentDialog .
  • WebView no es totalmente compatible. Puede usar un WebView in-proc, pero cualquier cosa fuera del contenido HTML estático puede o no funcionar correctamente.
  • Si estableces la propiedad Window.Current.Content en XAML, destruye todo el contenido XAML de tu AppWindow. Evite usarlo como patrón para restablecer el contenido al suspender la aplicación si usa AppWindow.
  • El cambio de tamaño de ventana suave no funciona para AppWindows. El marco y el contenido se cambiarán de tamaño de forma independiente, lo que puede parecer poco dinámico cuando el diseño de contenido es lento.
  • DisplayInformation no es accesible para AppWindow. Si AppWindow está en un monitor diferente al de ApplicationView, no podrá consultar la información de visualización correcta.
  • UserInteractionMode no se puede establecer para appWindow.
  • Los cuadros de diálogo de impresión (2D y 3D) no serán primarios en la ventana correcta.
  • AppWindow no puede detectar cuándo se invocan gestos de borde.
  • AppWindow no se puede usar para satisfacer una solicitud de activación a través de ActivationViewSwitcher.

Propiedades

Content

Obtiene el contenido de la aplicación asociado actualmente a la ventana.

DispatcherQueue

Obtiene la cola del distribuidor para la ventana de la aplicación.

Frame

Obtiene el marco de la ventana de la aplicación.

IsVisible

Obtiene un valor que indica si la ventana se puede ver en una pantalla.

PersistedStateId

Obtiene o establece una cadena que identifica esta ventana para realizar el seguimiento y guardar el estado.

Presenter

Obtiene el moderador de la ventana de la aplicación.

Title

Obtiene o establece el título mostrado de la ventana de la aplicación.

TitleBar

Obtiene la barra de título de la ventana de la aplicación.

UIContext

Obtiene el contexto de la interfaz de usuario para la ventana de la aplicación.

WindowingEnvironment

Obtiene el entorno de ventanas de la ventana de la aplicación.

Métodos

ClearAllPersistedState()

Borra las propiedades que el sistema ha guardado para cualquier ventana PersistedStateId para la aplicación especificada.

ClearPersistedState(String)

Borra las propiedades que el sistema ha guardado para la ventana con el identificador especificado para la aplicación especificada.

CloseAsync()

Cierra la ventana de la aplicación.

GetDisplayRegions()

Devuelve la colección de regiones de visualización disponibles para la ventana de la aplicación.

GetPlacement()

Devuelve un objeto de selección de ubicación que describe la región de presentación, el desplazamiento y el tamaño de la ventana de la aplicación.

RequestMoveAdjacentToCurrentView()

Realiza una solicitud para colocar la ventana junto a la vista actual.

RequestMoveAdjacentToWindow(AppWindow)

Realiza una solicitud para colocar la ventana junto a la ventana de anclaje especificada.

RequestMoveRelativeToCurrentViewContent(Point)

Realiza una solicitud para colocar la ventana en el desplazamiento especificado en relación con la vista actual.

RequestMoveRelativeToDisplayRegion(DisplayRegion, Point)

Realiza una solicitud para colocar la ventana en la región de presentación especificada en el desplazamiento especificado.

RequestMoveRelativeToWindowContent(AppWindow, Point)

Realiza una solicitud para colocar la ventana en el desplazamiento especificado en relación con la ventana de anclaje.

RequestMoveToDisplayRegion(DisplayRegion)

Realiza una solicitud para colocar la ventana en la región de presentación especificada.

RequestSize(Size)

Realiza una solicitud para establecer la ventana en el tamaño especificado.

TryCreateAsync()

Intenta crear de forma asincrónica una nueva instancia de AppWindow.

TryShowAsync()

Intenta mostrar de forma asincrónica la ventana de la aplicación actual.

Eventos

Changed

Se produce cuando ha cambiado una propiedad de la ventana de la aplicación.

Closed

Se produce cuando se ha cerrado la ventana de la aplicación.

CloseRequested

Se produce después de que la ventana empiece a cerrarse, pero antes de cerrarse y antes de que se produzca el evento Closed.

Se aplica a