XamlSchemaContext 类

定义

定义一个可重用上下文,用于解释或映射 XAML 类型以及为这些类型提供支持的程序集中的类型。

public ref class XamlSchemaContext
public class XamlSchemaContext
type XamlSchemaContext = class
Public Class XamlSchemaContext
继承
XamlSchemaContext

注解

XAML 架构上下文提供 XAML 架构或词汇之间的抽象层,以及特定的分析器实现。 通过插入架构上下文的概念,架构可以与不同的 XAML 分析程序一起使用,架构上下文将填充与特定 XAML 分析程序交互所需的详细信息。 例如,XAML 架构上下文提供与 XAML 概念或 CLR 绑定到 XAML 类型系统的查询 API。 XAML 架构上下文还负责维护已加载程序集的程序集列表,该列表定义 XAML 分析程序查找支持类型的位置。

继承者说明

在一个 AppDomain中, XamlSchemaContext 可以在多个调用方之间共享,其中包括完全和部分信任调用方。 这种情况存在于 WPF 等框架中,这些框架为 WPF 应用程序模型的某些部分提供对 XAML 加载的部分部分的部分信任访问权限。 默认 XamlSchemaContext 实现通过保留其所有属性和设置不可变来提供此方案中的安全措施。 派生实现还应考虑遵循此模型,即 XAML 架构上下文的属性和设置不可变性。

XamlSchemaContext 类设计为查找没有外部可观察的副作用。 基类中的 API 引用 XamlSchemaContext 的类型(如 XamlTypeXamlMember)也不会产生查找的副作用。 进行架构确定所需的所有数据都应从构造和设置 AppDomain中获取。 请注意,没有查找 API 依赖于显式传入的服务;其输入仅依赖于字符串输入。

XamlSchemaContext类,并且XamlTypeXamlMember都是线程安全的基实现。 如果派生自 XamlSchemaContext 或派生 XAML 类型系统类, XamlType XamlMember 则可以选择类的行为是否为线程安全。

构造函数

XamlSchemaContext()

初始化 XamlSchemaContext 类的新实例。

XamlSchemaContext(IEnumerable<Assembly>)

基于一组引用程序集初始化 XamlSchemaContext 类的新实例。

XamlSchemaContext(IEnumerable<Assembly>, XamlSchemaContextSettings)

基于一组引用程序集和一个设置对象初始化 XamlSchemaContext 类的新实例。

XamlSchemaContext(XamlSchemaContextSettings)

基于一个设置对象初始化 XamlSchemaContext 类的新实例。

属性

FullyQualifyAssemblyNamesInClrNamespaces

获取一个值,该值指定 XAML 架构及其上下文是否在查找 API 返回的值中使用完全限定的程序集名称。

ReferenceAssemblies

获取 XAML 架构上下文的引用程序集的可枚举集合。

SupportMarkupExtensionsWithDuplicateArity

获取一个值,该值指定 XAML 架构及其上下文是否支持存在 arity(输入参数的数量)相同的两个构造函数的标记扩展。

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
Finalize()

提供一个非标准 Finalize 实现,该实现不调用 Dispose

GetAllXamlNamespaces()

搜索由此 XamlSchemaContext 持有的程序集,并返回一组命名空间。

GetAllXamlTypes(String)

搜索由此 XamlSchemaContext 持有的程序集,并从指定的 XAML 命名空间中返回一组类型。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetPreferredPrefix(String)

获取一个报告为首选前缀的字符串,供使用者在映射指定的 XAML 命名空间时使用。

GetType()

获取当前实例的 Type

(继承自 Object)
GetValueConverter<TConverterBase>(Type, XamlType)

返回一个值转换器,该转换器可将值转换为请求的 targetType

GetXamlDirective(String, String)

返回一个 XamlDirective 值,该值表示用于 XAML 语言或用于特定实现的指令。

GetXamlType(String, String, XamlType[])

基于 XAML 命名空间以及类型名称的字符串返回一个 XamlType。 此签名可以针对所需类型是泛型类型的情况指定类型参数。

GetXamlType(Type)

返回基于 CLR 类型标识符的 XamlType

GetXamlType(XamlTypeName)

返回基于 XAML 系统类型名称的 XamlType

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
OnAssemblyResolve(String)

在操作使用此架构上下文来解析程序集时调用,必须提供该程序集才能解析它包含的 XAML 命名空间。

ToString()

返回表示当前对象的字符串。

(继承自 Object)
TryGetCompatibleXamlNamespace(String, String)

返回兼容 XAML 命名空间的请求的成功或失败状态。 成功的请求会将该 XAML 命名空间报告为输出参数。

适用于