XAML 2009 语言功能

XAML 2009 是新 XAML 语言功能的简写术语,其扩展现有的 XAML 语言规范。 XAML 2009 引入了几个新指令和结构。 这些包括 x:Arguments 指令x:FactoryMethod 指令x:Reference 标记扩展x:TypeArguments 指令 以及共同语言元素的内置类型(例如 x:Char)。

本主题包括下列各节。

  • 在 WPF 和 Visual Studio 中支持 XAML 2009
  • 相关主题

在 WPF 和 Visual Studio 中支持 XAML 2009

在 WPF 中,可以使用 XAML 2009 功能,但仅针对未进行 WPF 标记编译的 XAML。 标记编译的 XAML 以及BAML 形式的 XAML 当前不支持 XAML 2009 关键字和功能。

请注意在 WPF 中加载松散的 XAML 的现有技术也有可能得到 CLR 类型的安全和访问限制。这些都比标记编辑的 XAML 更加严格。 有关更多信息,请参见安全性 (WPF)WPF 安全策略 — 平台安全性

XAML 2009 还引入了一些附加功能,其或者修改前面的 XAML 2006 构造或修改基本标记窗体。

x:Key 作为对象元素

XAML 2009 可支持 x:Key 作为对象(具有对象元素值的属性元素);但是 XAML 2006 仅支持 x:Key 作为属性。 请参见 x:Key 指令 的“XAML 2009”一节。

属性元素上的 xmlns

XAML 2009 可以支持属性元素上的 XAML 命名空间 (xmlns) 定义,而 XAML 2006 只支持对象元素上的 xmlns 定义。

事件特性

对于由事件支持的特性,XAML 2006 会假定涉及到了标记编译并将事件提交给标记编译。 XAML 2009 支持类似标记扩展的标记窗体,其不同于事件布线,直至运行时解析/加载 XAML。 但是,WPF 应用程序和 WPF UI 的 XAML 方案通常不使用此功能。 WPF 和其 XAML 2006 实现使用在 UIElement 级别定义的路由事件的事件处理程序布线组合及其标记编译器步骤,用于其众多事件特性处理。 标记编译器还预处理生成操作声明用于标记编译器的 XAML 中找到任何事件特性。

请参见

概念

XAML 概述 (WPF)