x:Code 内部 XAML 类型
允许在 XAML 生产环境中放置代码。 此类代码可以由编译 XAML 的任何 XAML 处理器实现进行编译,也可以保留在 XAML 生产中以供之后使用,例如运行时解释。
XAML 对象元素用法
<x:Code>
// code instructions, usually enclosed by CDATA...
</x:Code>
备注
x:Code
XAML 指令元素中的代码仍然在通用 XML 命名空间和提供的 XAML 命名空间内解释。 因此,通常需要将用于 x:Code
的代码包含在 CDATA
段中。
并非所有可能的 XAML 生产部署机制都允许使用 x:Code
。 在特定框架(例如 WPF)中,必须编译代码。 在其他框架中,通常可能不允许使用 x:Code
。
对于允许托管 x:Code
内容的框架,用于 x:Code
内容的正确语言编译器取决于用于编译应用程序的包含项目的设置和目标。
WPF 用法注释
在 x:Code
中针对 WPF 声明的代码有几个值得注意的限制:
x:Code
指令元素必须是 XAML 生产根元素的直接子元素。x:Class 指令必须在父级根元素上提供。
编译时,放置在
x:Code
中的代码将会视为在已为该 XAML 页面创建的分部类范围内。 因此,你定义的所有代码必须是该分部类的成员或变量。除了在分部类中嵌套一个类外,不能定义其他类(虽然允许嵌套,但不典型,因为嵌套类不能在 XAML 中引用)。 不能定义或添加到用于现有分部类的命名空间以外的 CLR 命名空间。
对分部类 CLR 命名空间之外的代码实体的引用必须完全限定。 如果声明的成员是对分部类可重写成员的替代,则必须使用特定于语言的替代关键字来指定。 如果在
x:Code
范围内声明的成员与通过 XAML 创建的分部类成员发生冲突,编译器会报告冲突,XAML 文件将无法编译或加载。