Встроенный тип XAML x:XData

Позволяет размещать острова данных XML в рабочей среде XAML. XML-элементы внутри x:XData не должны обрабатываться процессорами XAML, как если бы они были частью действующего пространства имен XAML по умолчанию или любого другого пространства имен XAML. x:XData может содержать произвольный XML-документ правильного формата.

Использование элемента объекта XAML

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

Значения XAML

Стоимость Description
elementDataRoot Единственный корневой элемент вложенного острова данных. Для большинства конечных потребителей XML-код без единственного корня считается недопустимым. В частности, единственный корень требуется, если директива x:XData предназначена в качестве источника данных XML для WPF или многих других технологий, использующих источники XML для привязки данных.
[elementData] Необязательно. XML-код, представляющий XML-данные. В виде данных элементов может содержаться любое количество элементов, а вложенные элементы могут содержаться в других элементах. Однако применяются общие правила XML.

Замечания

XML-элементы в объекте x:XData могут повторно объявлять все возможные пространства имен и префиксы содержащего XMLDOM в данных.

Программный доступ к XML-данным и встроенный в x:XData тип XAML можно использовать в службах XAML .NET посредством класса XData.

Заметки об использовании WPF

Объект x:XData в основном используется в качестве дочернего объекта XmlDataProvider или в качестве дочернего объекта свойства XmlDataProvider.XmlSerializer (в XAML это обычно выражается в синтаксисе элементов свойств).

Как правило, данные должны переопределить базовое пространство имен XML в острове данных в новое пространство имен XML по умолчанию (задаваемое пустой строкой). Это проще всего сделать для простых островов данных, так как в выражениях XPath, используемых, чтобы ссылаться на данные и привязываться к данным, можно избежать включения префиксов. В более сложных островах данных можно определить несколько префиксов для данных и использовать определенный префикс для пространства имен XML в корне. В этом случае все ссылки на выражения XPath должны содержать соответствующий префикс, сопоставленный с пространством имен. Более подробную информацию см. в разделе Общие сведения о связывании данных.

Технически x:XData можно использовать в качестве содержимого любого свойства типа IXmlSerializable. Однако XmlDataProvider.XmlSerializer — единственная заметная реализация.

См. также