Microsoft.UI.Xaml.Core.Direct Namespace
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.
Bietet eine Möglichkeit für Middleware-Autoren, auf niedrige Ebene, hohe XAML-APIs zuzugreifen und eine bessere CPU- und Arbeitssatzleistung zu erzielen.
Hinweis
Dieser Namespace erfordert das Microsoft.UI.Xaml.Core.Direct NuGet-Paket, ein Teil der Microsoft Windows-UI-Bibliothek.
Diese Dokumentation gilt für WinUI 2 für UWP (für WinUI im Windows App SDK, siehe die Windows App SDK Namespaces).
Klassen
XamlDirect |
Stellt die Basisklasse für alle XamlDirect-APIs dar. Alle XamlDirect-APIs sind Instanzmethoden dieser Klasse. XamlDirect ist eine API für den Zugriff auf Xaml auf grundsatzebene für bessere CPU- und Arbeitssatzleistung. Diese Dokumentation gilt für WinUI 2 für UWP (für WinUI im Windows App SDK, siehe die Windows App SDK Namespaces). |
Schnittstellen
IXamlDirect |
Stellt die Basisklasse für alle XamlDirect-APIs dar. Alle XamlDirect-APIs sind Instanzmethoden dieser Klasse. XamlDirect ist eine API für den Zugriff auf Xaml auf grundsatzebene für bessere CPU- und Arbeitssatzleistung. Diese Dokumentation gilt für WinUI 2 für UWP (für WinUI im Windows App SDK, siehe die Windows App SDK Namespaces). |
Enumerationen
XamlEventIndex |
Aufzählung, die alle unterstützten Ereignisse in XamlDirect auflisten. Diese Dokumentation gilt für WinUI 2 für UWP (für WinUI im Windows App SDK, siehe die Windows App SDK Namespaces). |
XamlPropertyIndex |
Aufzählung, die alle unterstützten Eigenschaften in XamlDirect auflisten. Diese Dokumentation gilt für WinUI 2 für UWP (für WinUI im Windows App SDK, siehe die Windows App SDK Namespaces). |
XamlTypeIndex |
Aufzählung, die alle unterstützten Typen in XamlDirect auflisten. Diese Dokumentation gilt für WinUI 2 für UWP (für WinUI im Windows App SDK, siehe die Windows App SDK Namespaces). |
Beispiele
Tipp
Die WinUI 3-Katalog- und WinUI 2-Katalog-Apps umfassen interaktive Beispiele für die meisten WinUI 3- und WinUI 2-Steuerelemente, -Features und -Funktionen.
Wenn sie bereits installiert sind, öffnen Sie sie, indem Sie auf die folgenden Links klicken: WinUI 3-Katalog oder WinUI 2-Katalog.
Wenn sie nicht installiert sind, können Sie den WinUI 3-Katalog und den WinUI 2-Katalog aus dem Microsoft Store herunterladen.
Sie können auch den Quellcode für beide von GitHub abrufen (verwenden Sie denmain-Branch für WinUI 3 und den Branchwinui2 für WinUI 2).
Im folgenden Beispiel wird gezeigt, wie Sie einer Auflistung mithilfe von XamlDirect-APIs einen Wert hinzufügen.
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);
Hinweise
XamlDirect ist **Zweck für Middleware*- die überwiegend zwingende APIs verwenden, um UI anstelle von Markup zu erstellen. Mit XamlDirect-APIs können Sie die Leistungsparität mit dem XAML-Parser erreichen, auch wenn Sie ui im Code zwingend erstellen.
XamlDirect APIs können nebeneinander mit herkömmlichen APIs verwendet werden und nutzen die Bezahlung für Leistungsverbesserungen.
Nicht alle XAML-APIs sind mit XamlDirect verfügbar. Die XamlTypeIndex-Aufzählung enthält alle unterstützten Typen, die XamlPropertyIndex-Aufzählung listet alle unterstützten Eigenschaften auf, und die XamlEventIndex-Aufzählung listet alle unterstützten Ereignisse auf.
Unterstützte Funktionen
Sie können die folgenden Funktionen mithilfe von XamlDirect-APIs ausführen:
- Erstellen Sie eine Instanz eines internen XAML-Objekts für einen regulären XAML-Typ, z. B. Button, mithilfe von Microsoft.UI.Xaml.Core.Direct.IXamlDirect.CreateInstance.
- Legen Sie Eigenschaftenwerte mithilfe einer der entsprechenden Varianten der XamlDirect.Set-Property-Methode basierend auf dem Typ der Eigenschaft fest. Verwenden Sie beispielsweise SetColorProperty(System.Object,Microsoft.UI.Xaml.Core.Direct.XamlPropertyIndex,Windows.UI.Color), um auf die SolidColorBrush.Color-Eigenschaft zuzugreifen. Verwenden Sie auch Get-Property Methoden, um auf bestimmte Eigenschaften zuzugreifen.
- Hinzufügen eines Elements zu einer Auflistung, z. B. Panel.Children, mit AddToCollection(System.Object,System.Object) und Entfernen von Elementen aus Sammlungen mithilfe von RemoveFromCollection(System.Object,System.Object) oder RemoveFromCollectionAt(System.Object,System.UInt32). XamlDirect unterstützt eine Vielzahl solcher Auflistungsvorgänge wie GetCollectionCount(System.Object), ClearCollection(System.Object), InsertIntoCollectionAt(System.Object,System.UInt32,System.Object), RemoveFromCollectionAt(System.Object,System.UInt32), und GetXamlDirectObjectFromCollectionAt(System.Object,System.UInt32).
- Fügen Sie einen Ereignishandler wie Schaltfläche.Click using AddEventHandler(System.Object,Microsoft.UI.Xaml.Core.Direct.XamlEventIndex,System.Object) und ähnlich entfernen Sie Ereignishandler mithilfe von Microsoft.UI.Core.Direct.IXamlDirect.RemoveEventHandler(System.Object,Microsoft.UI.Xaml.Core.Direct.XamlEventIndex,System.Object).
Alle von CreateInstance zurückgegebenen Objekte sind typ IXamlDirect. Alle anderen APIs, z. B. die Set*-Eigenschafts-APIs, nehmen einen IXamlDirect als ersten Parameter ein.
Verwenden Sie zum Konvertieren eines IXamlDirect-Objekts in den vollständigen APINDEX, z. B. eine Schaltfläche, die GetObject(System.Object) -Methode. Ebenso können Sie GetXamlDirectObject verwenden, um von einem vollständigen Objekt/DependencyObject in seine XamlDirect-äquivalente Instanz zu konvertieren.