x:XData 内部 XAML 类型

支持在 XAML 生产中放置 XML 数据岛。 XAML 处理器不应将 x:XData 中的 XML 元素视为作为默认 XAML 命名空间或任何其他 XAML 命名空间的一部分。 x:XData 可以包含任意格式标准的 XML。

XAML 对象元素用法

<x:XData>
  <elementDataRoot>
    [elementData]
  </elementDataRoot>
</x:XData>

XAML 值

说明
elementDataRoot 封闭数据岛的单个根元素。 对于大多数最终使用者,没有单个根的 XML 被视为无效。 具体而言,如果 x:XData 旨在用作 WPF 或许多其他使用 XML 源进行数据绑定的技术的 XML 数据源,则需要单个根。
[elementData] 可选。 表示要加载的 XML 数据的 XML。 可以包含任意数量的元素作为元素数据,嵌套元素可以包含在其他元素中;但是,XML 的一般规则适用。

注解

x:XData 对象中的 XML 元素可以重新声明数据中包含的 XMLDOM 的所有可能的命名空间和前缀。

通过 XData 类,可以在 .NET XAML 服务中以编程方式访问 XML 数据和 x:XData 内部 XAML 类型。

WPF 用法注释

x:XData 对象主要用作 XmlDataProvider 的子对象,或者用作 XmlDataProvider.XmlSerializer 属性的子对象(在 XAML 中,这通常以属性元素语法表示)。

数据通常应将数据岛内的基本 XML 命名空间重新定义为新的默认 XML 命名空间(设置为空字符串)。 这对于简单的数据岛来说是最简单的,因为用于引用和绑定到数据的 XPath 表达式可以避免包含前缀。 更复杂的数据岛可能会为数据定义多个前缀,并对根目录中的 XML 命名空间使用特定前缀。 在这种情况下,所有 XPath 表达式引用都应包含适当的命名空间映射前缀。 有关详细信息,请参阅 数据绑定概述

从技术上说,x:XData 可以用作 IXmlSerializable 类型的任何属性的内容。 但是,XmlDataProvider.XmlSerializer 是唯一突出的实现。

另请参阅