x:Code XAML 指令元素
更新:2007 年 11 月
允许在 XAML 页中放置代码,该代码将由对 XAML 进行编译(而不是进行解释)的任何 XAML 处理器实现来编译。
XAML 对象元素用法
<object>
<x:Code>
// code instructions, usually enclosed by CDATA...
</x:Code>
</object>
依赖项
还必须对在语法中显示为 object 的父元素提供 x:Class 属性,并且该元素必须是页中的根元素。x:Code 指令元素必须是 object 根元素的直接子元素。
备注
x:Code XAML 指令元素中的代码仍然在所提供的 XML 命名空间内进行解释。因此,通常还必须将 x:Code 中的代码装入 CDATA 段中。
XAML 文件的所有可能的部署机制都不允许 x:Code。仍必须对 WPF 的代码进行编译,而不能对其进行解释或实时使用。例如,在任何 XML 纸张规范 (XPS) 文档或松散 XAML 中,x:Code 是不允许的。
用于 x:Code 内容的正确语言编译器取决于用于编译应用程序的包含项目的设置和目标。
在 x:Code 中声明的代码存在几个特别的限制。在 x:Code 中放置的代码在编译时被视为已位于针对该 XAML 页创建的分部类的范围中。因此,您定义的所有代码必须都是该分部类的成员或变量。您不能定义其他类,除非是在分部类中嵌套一个类(该操作合法但不常见,因为在 XAML 中不能引用嵌套的类)。不能定义或添加到现有分部类所用的 CLR 命名空间以外的其他命名空间。必须完全限定所有对分部类 CLR 命名空间之外的代码实体的引用。如果所声明的成员是对分部类可重写成员的重写,则必须使用特定于语言的重写关键字指定。如果成员与从 XAML 页以编译器报告的方式创建的分部类的成员发生冲突,则 XAML 文件将无法进行加载或编译。