Microsoft.UI.Xaml.Core.Direct Пространство имен
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет разработчикам ПО промежуточного слоя способ доступа к низкоуровневые высокопроизводительные API XAML и повысить производительность ЦП и рабочего набора.
Примечание
Для этого пространства имен требуется пакет NuGet Microsoft.UI.Xaml.Core.Direct , часть библиотеки пользовательского интерфейса Microsoft Windows.
Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).
Классы
XamlDirect |
Представляет базовый класс для всех API XamlDirect . Все API XamlDirect являются методами экземпляра этого класса. XamlDirect — это API для доступа к Xaml на более примитивном уровне для повышения производительности ЦП и рабочего набора. Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен). |
Интерфейсы
IXamlDirect |
Представляет базовый класс для всех API XamlDirect . Все API XamlDirect являются методами экземпляра этого класса. XamlDirect — это API для доступа к Xaml на более примитивном уровне для повышения производительности ЦП и рабочего набора. Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен). |
Перечисления
XamlEventIndex |
Перечисление со списком всех поддерживаемых событий в XamlDirect. Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен). |
XamlPropertyIndex |
Перечисление со списком всех поддерживаемых свойств в XamlDirect. Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен). |
XamlTypeIndex |
Перечисление со списком всех поддерживаемых типов в XamlDirect. Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен). |
Примеры
Совет
Приложения из коллекции WinUI 3 и коллекции WinUI 2 включают интерактивные примеры большинства элементов управления, возможностей и функций WinUI 3 и WinUI 2.
Если они уже установлены, откройте их с помощью следующих ссылок: коллекция WinUI 3 или коллекция WinUI 2.
Если они не установлены, вы можете скачать коллекцию WinUI 3 и коллекцию WinUI 2 из Microsoft Store.
Исходный код можно также получить из GitHub (используйте главную ветвь для WinUI 3 и ветвь winui2 для WinUI 2).
В следующем примере показано, как добавить значение в коллекцию с помощью 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);
Комментарии
XamlDirect — это **назначение, созданное для ПО промежуточного слоя*, которое преимущественно использует императивные API для создания пользовательского интерфейса вместо разметки. С помощью API XamlDirect можно достичь четности производительности с помощью средства синтаксического анализа XAML даже при создании пользовательского интерфейса в коде.
XamlDirect API можно использовать параллельно с традиционными API и воспользоваться преимуществами повышения производительности воспроизведения.
Не все API Xaml доступны в XamlDirect. Перечисление XamlTypeIndex содержит все поддерживаемые типы, перечисление XamlPropertyIndex содержит все поддерживаемые свойства, а перечисление XamlEventIndex содержит все поддерживаемые события.
Поддерживаемые функции
С помощью API XamlDirect можно выполнять следующие функции:
- Создайте экземпляр внутреннего объекта Xaml для обычного типа Xaml, например Button, с помощью Microsoft.UI.Xaml.Core.Direct.IXamlDirect.CreateInstance.
- Задайте значения свойств с помощью одного из соответствующих вариантов метода XamlDirect.Set-Property на основе типа свойства. Например, используйте SetColorProperty(System.Object,Microsoft.UI.Xaml.Core.Direct.XamlPropertyIndex,Windows.UI.Color) для доступа к свойству SolidColorBrush.Color . Аналогичным образом используйте методы Get-Property для доступа к определенным свойствам.
- Добавьте элемент в коллекцию, например Panel.Children, с помощью AddToCollection(System.Object,System.Object) и удалите элементы из коллекций с помощью RemoveFromCollection(System.Object, System.Object) или RemoveFromCollectionAt(System.Object,System.UInt32). XamlDirect поддерживает различные такие операции сбора, включая GetCollectionCount(System.Object), ClearCollection(System.Object), InsertIntoCollectionAt(System.Object,System.UInt32,System.Object), RemoveFromCollectionAt(System.Object,System.UInt32)и GetXamlDirectObjectFromCollectionAt(System.Object,System.UInt32).
- Добавьте обработчик событий, например Button.Click с помощью AddEventHandler(System.Object,Microsoft.UI.Xaml.Core.Direct.XamlEventIndex,System.Object) и аналогичным образом удалите обработчики событий с помощью Microsoft.UI.Xaml.Core.Direct.IXamlDirect.RemoveEventHandler(System.Object,Microsoft.UI.Xaml.Core.Direct.XamlEventIndex,System.Object).
Все объекты, возвращаемые CreateInstance , имеют тип IXamlDirect. Все остальные API, такие как API Set*Property, принимают IXamlDirect в качестве первого параметра.
Чтобы преобразовать IXamlDirect в полный APINDEX, например Button, используйте метод GetObject(System.Object). Аналогичным образом можно использовать GetXamlDirectObject для преобразования из полного объекта или DependencyObject в эквивалентный экземпляр XamlDirect.