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 用法说明
在 WPF 的 x:Code
中声明的代码有几个值得注意的限制:
x:Code
指令元素必须是 XAML 生产根元素的直接子元素。必须在父根元素上提供 x:Class 指令
。 编译会将放置在
x:Code
中的代码视为位于已为该 XAML 页面创建的分部类的范围内。 因此,定义的所有代码都必须是该分部类的成员或变量。不能定义其他类,而不是通过在分部类内嵌套类(允许嵌套,但这不是典型的,因为嵌套类不能在 XAML 中引用)。 不能定义或添加到现有分部类的命名空间以外的 CLR 命名空间。
对分部类 CLR 命名空间之外的代码实体的引用必须全部完全限定。 如果声明的成员是重写分部类的可重写成员,则必须使用特定于语言的重写关键字来指定此值。 如果在
x:Code
范围内声明的成员与从 XAML 创建的分部类的成员发生冲突,则编译器报告冲突的方式是 XAML 文件无法编译或加载。
另请参阅
- x:Class 指令
- WPF 中的
Code-Behind 和 XAML - XAML 概述 (WPF .NET)