Microsoft.UI.Xaml.Core.Direct 命名空间

为中间件作者提供了访问低级别高性能 XAML API 并实现更好的 CPU 和工作集性能的方法。

注意

此命名空间需要 Microsoft.UI.Xaml.Core.Direct NuGet 包( Microsoft Windows UI 库的一部分)。

本文档适用于 Windows 应用 SDKWinUI 的 WinUI 2 for UWP (,请参阅Windows 应用 SDK命名空间) 。

XamlDirect

表示所有 XamlDirect API 的基类。 所有 XamlDirect API 都是此类的实例方法。

XamlDirect 是一个 API,用于在更基元级别访问 Xaml,以提高 CPU 和工作集性能。

本文档适用于 Windows 应用 SDKWinUI 的 WinUI 2 for UWP (,请参阅Windows 应用 SDK命名空间) 。

接口

IXamlDirect

表示所有 XamlDirect API 的基类。 所有 XamlDirect API 都是此类的实例方法。

XamlDirect 是一个 API,用于在更基元级别访问 Xaml,以提高 CPU 和工作集性能。

本文档适用于 Windows 应用 SDKWinUI 的 WinUI 2 for UWP (,请参阅Windows 应用 SDK命名空间) 。

枚举

XamlEventIndex

列出 XamlDirect 中所有受支持的事件的枚举。

本文档适用于 Windows 应用 SDKWinUI 的 WinUI 2 for UWP (,请参阅Windows 应用 SDK命名空间) 。

XamlPropertyIndex

列出 XamlDirect 中所有受支持的属性的枚举。

本文档适用于 Windows 应用 SDKWinUI 的 WinUI 2 for UWP (,请参阅Windows 应用 SDK命名空间) 。

XamlTypeIndex

列出 XamlDirect 中所有支持类型的枚举。

本文档适用于 Windows 应用 SDKWinUI 的 WinUI 2 for UWP (,请参阅Windows 应用 SDK命名空间) 。

示例

提示

WinUI 3 库和 WinUI 2 库应用包括大多数 WinUI 3 和 WinUI 2 控件、特性和功能的交互式示例。

如果已安装,请单击以下链接将其打开:WinUI 3 库WinUI 2 库

如果未安装,可以从 Microsoft Store 下载 WinUI 3 库WinUI 2 库

还可以从 GitHub 获取这两种应用的源代码(对 WinUI 3 使用 main 分支,对 WinUI 2 使用 winui2 分支)。

以下示例演示如何使用 XamlDirect API 向集合添加值。

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 创建 UI 而不是标记。 使用 XamlDirect API,即使在代码中强制创建 UI 时,也可以实现与 XAML 分析程序的性能奇偶校验。

XamlDirect API 可与传统 API 并排使用,并利用付费来改进游戏性能。

并非所有 Xaml API 都可用于 XamlDirectXamlTypeIndex 枚举列出了所有受支持的类型,XamlPropertyIndex 枚举列出了所有支持的属性,XamlEventIndex 枚举列出了所有受支持的事件。

支持的函数

可以使用 XamlDirect API 执行以下函数:

CreateInstance 返回的所有对象都是 IXamlDirect 类型。 所有其他 API(如 Set*Property API)采用 IXamlDirect 作为其第一个参数。

若要将 IXamlDirect 转换为其完整的 APINDEX(例如 Button),请使用 GetObject (System.Object) 方法。 同样,可以使用 GetXamlDirectObject 从完整对象/DependencyObject 转换为其 XamlDirect 等效实例。

另请参阅