Microsoft.UI.Xaml.Core.Direct Espace de noms
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit un moyen pour les auteurs d’intergiciels d’accéder aux API XAML de bas niveau et hautes performances et d’améliorer les performances du processeur et du jeu de travail.
Notes
Cet espace de noms nécessite le package NuGet Microsoft.UI.Xaml.Core.Direct , une partie de la bibliothèque d’interface utilisateur Microsoft Windows.
Cette documentation s’applique à WinUI 2 pour UWP (pour WinUI dans le SDK d'application Windows, consultez les espaces de noms SDK d'application Windows).
Classes
XamlDirect |
Représente la classe de base pour toutes les API XamlDirect . Toutes les API XamlDirect sont des méthodes d’instance de cette classe. XamlDirect est une API permettant d’accéder au xaml au niveau plus primitif pour améliorer les performances du processeur et des ensembles de travail. Cette documentation s’applique à WinUI 2 pour UWP (pour WinUI dans le SDK d'application Windows, consultez les espaces de noms SDK d'application Windows). |
Interfaces
IXamlDirect |
Représente la classe de base pour toutes les API XamlDirect . Toutes les API XamlDirect sont des méthodes d’instance de cette classe. XamlDirect est une API permettant d’accéder au xaml au niveau plus primitif pour améliorer les performances du processeur et des ensembles de travail. Cette documentation s’applique à WinUI 2 pour UWP (pour WinUI dans le SDK d'application Windows, consultez les espaces de noms SDK d'application Windows). |
Énumérations
XamlEventIndex |
Énumération qui répertorie tous les événements pris en charge dans XamlDirect. Cette documentation s’applique à WinUI 2 pour UWP (pour WinUI dans le SDK d'application Windows, consultez les espaces de noms SDK d'application Windows). |
XamlPropertyIndex |
Énumération qui répertorie toutes les propriétés prises en charge dans XamlDirect. Cette documentation s’applique à WinUI 2 pour UWP (pour WinUI dans le SDK d'application Windows, consultez les espaces de noms SDK d'application Windows). |
XamlTypeIndex |
Énumération qui répertorie tous les types pris en charge dans XamlDirect. Cette documentation s’applique à WinUI 2 pour UWP (pour WinUI dans le SDK d'application Windows, consultez les espaces de noms SDK d'application Windows). |
Exemples
Conseil
Les applications WinUI 3 Gallery et WinUI 2 Gallery incluent des exemples interactifs de la plupart des contrôles et fonctionnalités WinUI 3 et WinUI 2.
Si elles sont déjà installées, ouvrez-les en cliquant sur les liens suivants : WinUI 3 Gallery ou WinUI 2 Gallery.
Si elles ne sont pas installées, vous pouvez télécharger WinUI 3 Gallery et WinUI 2 Gallery à partir du Microsoft Store.
Vous pouvez également obtenir le code source des deux applications à partir de GitHub (utilisez la branche main pour WinUI 3 et la branche winui2 pour WinUI 2).
L’exemple suivant montre comment ajouter une valeur à une collection à l’aide d’API 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);
Remarques
XamlDirect est **conçu pour l’intergiciel*, qui utilise principalement des API impératives pour créer une interface utilisateur au lieu du balisage. Avec les API XamlDirect , vous pouvez obtenir une parité des performances avec l’analyseur XAML même lors de la création impérative de l’interface utilisateur dans le code.
XamlDirect Les API peuvent être utilisées côte à côte avec les API traditionnelles et tirer parti des améliorations des performances du jeu.
Toutes les API Xaml ne sont pas disponibles avec XamlDirect. L’énumération XamlTypeIndex répertorie tous les types pris en charge, l’énumération XamlPropertyIndex répertorie toutes les propriétés prises en charge et l’énumération XamlEventIndex répertorie tous les événements pris en charge.
Fonctions prises en charge
Vous pouvez effectuer les fonctions suivantes à l’aide des API XamlDirect :
- Créez une instance d’un objet Xaml interne pour un type Xaml standard, comme Button, à l’aide de Microsoft.UI.Xaml.Core.Direct.IXamlDirect.CreateInstance.
- Définissez les valeurs de propriété à l’aide de l’une des variantes appropriées de la méthode XamlDirect.Set-Property en fonction du type de la propriété. Par exemple, utilisez SetColorProperty(System.Object,Microsoft.UI.Xaml.Core.Direct.XamlPropertyIndex,Windows.UI.Color) pour accéder à la propriété SolidColorBrush.Color . De même, utilisez des méthodes Get-Property pour accéder à des propriétés spécifiques.
- Ajoutez un élément à une collection, comme Panel.Children, à l’aide de AddToCollection(System.Object,System.Object) et supprimez des éléments de collections à l’aide de RemoveFromCollection(System.Object,System.Object) ou RemoveFromCollectionAt(System.Object,System.UInt32). XamlDirect prend en charge diverses opérations de collection, notamment GetCollectionCount(System.Object),ClearCollection(System.Object), InsertIntoCollectionAt(System.Object,System.UInt32,System.Object), RemoveFromCollectionAt(System.Object,System.Object,System.UInt32)et GetXamlDirectObjectFromCollectionAt(System.Object,System.UInt32).
- Ajoutez un gestionnaire d’événements, comme Button.Click à l’aide de AddEventHandler(System.Object,Microsoft.UI.Xaml.Core.Direct.XamlEventIndex,System.Object) et supprimez de même les gestionnaires d’événements à l’aide de Microsoft.UI.Xaml.Core.Direct.IXamlDirect.RemoveEventHandler(System.Object,Microsoft.UI.Xaml.Core.Direct.XamlEventIndex,System.Object).
Tous les objets retournés par CreateInstance sont de type IXamlDirect. Toutes les autres API, telles que les API Set*Property, prennent un IXamlDirect comme premier paramètre.
Pour convertir un IXamlDirect en APINDEX complet, par exemple un Bouton, utilisez la méthode GetObject(System.Object). De même, vous pouvez utiliser GetXamlDirectObject pour effectuer une conversion d’un Objet/DependencyObject complet en son instance d’équivalent XamlDirect.