Microsoft.UI.Xaml.Core.Direct Espacio de nombres

Proporciona una manera de que los autores de middleware accedan a las API XAML de bajo nivel y alto rendimiento y logren un mejor rendimiento de CPU y conjuntos de trabajo.

Nota

Este espacio de nombres requiere el paquete NuGet Microsoft.UI.Xaml.Core.Direct , una parte de la biblioteca de interfaz de usuario de Microsoft Windows.

Esta documentación se aplica a WinUI 2 para UWP (para WinUI en la SDK de Aplicaciones para Windows, consulta los espacios de nombres SDK de Aplicaciones para Windows).

Clases

XamlDirect

Representa la clase base para todas las API de XamlDirect . Todas las API de XamlDirect son métodos de instancia de esta clase.

XamlDirect es una API para acceder a Xaml en un nivel más primitivo para mejorar el rendimiento de la CPU y del conjunto de trabajo.

Esta documentación se aplica a WinUI 2 para UWP (para WinUI en la SDK de Aplicaciones para Windows, consulta los espacios de nombres SDK de Aplicaciones para Windows).

Interfaces

IXamlDirect

Representa la clase base para todas las API de XamlDirect . Todas las API de XamlDirect son métodos de instancia de esta clase.

XamlDirect es una API para acceder a Xaml en un nivel más primitivo para mejorar el rendimiento de la CPU y del conjunto de trabajo.

Esta documentación se aplica a WinUI 2 para UWP (para WinUI en la SDK de Aplicaciones para Windows, consulta los espacios de nombres SDK de Aplicaciones para Windows).

Enumeraciones

XamlEventIndex

Enumeración que enumera todos los eventos admitidos en XamlDirect.

Esta documentación se aplica a WinUI 2 para UWP (para WinUI en la SDK de Aplicaciones para Windows, consulta los espacios de nombres SDK de Aplicaciones para Windows).

XamlPropertyIndex

Enumeración que enumera todas las propiedades admitidas en XamlDirect.

Esta documentación se aplica a WinUI 2 para UWP (para WinUI en la SDK de Aplicaciones para Windows, consulta los espacios de nombres SDK de Aplicaciones para Windows).

XamlTypeIndex

Enumeración que enumera todos los tipos admitidos en XamlDirect.

Esta documentación se aplica a WinUI 2 para UWP (para WinUI en la SDK de Aplicaciones para Windows, consulta los espacios de nombres SDK de Aplicaciones para Windows).

Ejemplos

Sugerencia

Las aplicaciones WinUI 3 Gallery y WinUI 2 Gallery incluyen ejemplos interactivos de la mayoría de los controles, características y funcionalidades de WinUI 3 y WinUI 2.

Si ya se instalaron, haga clic en los vínculos siguientes para abrirlas: WinUI 3 Gallery o WinUI 2 Gallery.

Si no están instaladas, puede descargar WinUI 3 Gallery y WinUI 2 Gallery desde Microsoft Store.

También puede obtener el código fuente de ambas desde GitHub (use la bifurcación principal para WinUI 3 y la bifurcación winui2 para WinUI 2).

En el ejemplo siguiente se muestra cómo agregar un valor a una colección mediante las API de XamlDirect .

XamlDirect xd = XamlDirect.GetDefault();

IXamlDirect relativePanel = xd.CreateInstance(XamlTypeIndex.RelativePanel);

IXamlDirect childrenCollection = xd.GetXamlDirectObjectProperty(relativePanel, XamlPropertyIndex.Panel_Children);

IXamlDirect button = xd.CreateInstance(XamlTypeIndex.Button);
xd.AddToCollection(childrenCollection, button);
XamlDirect^ xd = XamlDirect::GetDefault();

IXamlDirect^ relativePanel = xd->CreateInstance(XamlTypeIndex::RelativePanel);

IXamlDirect^ childrenCollection = xd->GetXamlDirectObjectProperty(relativePanel, XamlPropertyIndex::Panel_Children);

IXamlDirect^ button = xd->CreateInstance(XamlTypeIndex::Button);
xd->AddToCollection(childrenCollection, button);

Comentarios

XamlDirect es **propósito creado para middleware*- que principalmente usan API imperativas para crear la interfaz de usuario en lugar del marcado. Con las API de XamlDirect , puedes lograr paridad de rendimiento con el analizador XAML incluso al crear la interfaz de usuario de forma imperativa en el código.

XamlDirect Las API se pueden usar en paralelo con las API tradicionales y aprovechar las mejoras de rendimiento de pago por juego.

No todas las API xaml están disponibles con XamlDirect. La enumeración XamlTypeIndex enumera todos los tipos admitidos, la enumeración XamlPropertyIndex enumera todas las propiedades admitidas y la enumeración XamlEventIndex enumera todos los eventos admitidos.

Funciones admitidas

Puede realizar las siguientes funciones mediante las API xamlDirect:

Todos los objetos devueltos por CreateInstance son de tipo IXamlDirect. Todas las demás API, como las API Set*Property, toman IXamlDirect como su primer parámetro.

Para convertir un IXamlDirect en su APINDEX completo, por ejemplo, un Button, use el método GetObject(System.Object). Del mismo modo, puedes usar GetXamlDirectObject para convertir de un object/DependencyObject completo a su instancia equivalente de XamlDirect.

Consulte también