IXamlType 接口

定义

提供报告有关 XAML 类型的 XAML 类型系统细节的方法。 使用此接口协定,XAML 分析程序可以加载在应用中定义并在 XAML 文件中引用的任何自定义类型和成员。

public interface class IXamlType
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(3527547359, 32457, 22513, 162, 123, 106, 242, 81, 217, 197, 188)]
struct IXamlType
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.Guid(3527547359, 32457, 22513, 162, 123, 106, 242, 81, 217, 197, 188)]
public interface IXamlType
Public Interface IXamlType
属性

注解

Windows 运行时是基于 COM) 的 API (本机组件对象模型。 可以使用多种语言编写应用代码,包括 Microsoft .NET 语言和本机 C++。 Windows 运行时不包括反射或 CLR 样式的类型系统。 如果没有此类类型系统,Windows 运行时的 XAML 框架需要基础结构和协定来识别和加载应用中定义并在 XAML 文件中引用的任何自定义类型。 IXamlMember 和 IXamlType 接口是协定。 基础结构在一定程度上显示为生成的代码文件 XamlTypeInfo.* (文件名的其余部分,具体取决于你) 使用的语言。 此文件包含扩展 Application 类并实现 IXamlMetadataProvider 接口的 分部类。 Windows 运行时 XAML 框架使用此接口来查询 XAML 文件中引用的类型的详细信息。 其他生成的文件也使用 IXamlMetadataProvider 进行发现。

注意

XamlTypeInfo.* 可以与其他生成的文件一起在 obj 文件夹中找到。 可能需要启用 “显示所有文件” 才能看到它。 此外,如果要单步执行类型定义代码,请在调试器选项中禁用 “仅我的代码 ”功能。

属性

BaseType

获取 XAML 类型的直接基类型的 IXamlType 。 此值的确定基于核心类型的基础类型。

BoxedType

获取 XAML 类型的装箱类型的 IXamlType。 此值的确定基于核心类型的基础类型。

ContentProperty

获取此 IXamlType 的 XAML 内容属性的 IXamlMember 信息。

FullName

获取基础类型的完整类名。

IsArray

获取一个值,该值指示 IXamlType 是否表示数组。

IsBindable

获取一个值,该值声明类型是否可绑定。

IsCollection

获取一个值,该值指示此 IXamlType 是否表示集合。

IsConstructible

获取一个值,该值指示此 IXamlType 是否根据 XAML 定义表示可构造类型。

IsDictionary

获取一个值,该值指示此 IXamlType 是否表示字典/映射。

IsMarkupExtension

获取一个值,该值指示 IXamlType 是否表示标记扩展。

ItemType

获取一个值,该值提供此 IXamlTypeItems 属性的类型信息。

KeyType

获取一个值,该值提供此 IXamlTypeKey 属性的类型信息(如果此 IXamlType 表示字典/映射)。

UnderlyingType

获取支持类型的信息。

方法

ActivateInstance()

给定 XAML 类型时,设置其初始化值,并返回一个可用实例。

AddToMap(Object, Object, Object)

将项添加到自定义地图类型。

AddToVector(Object, Object)

将项添加到自定义矢量类型。

CreateFromString(String)

基于字符串创建类型系统表示形式。 此用法main方案是创建枚举值并映射相应的枚举。

GetMember(String)

从此 IXamlType 返回特定命名成员 的 IXamlMember 信息。

RunInitializer()

根据 XAML 架构上下文及其平台依赖项的要求调用任何必要的预激活逻辑。

适用于

另请参阅