Поделиться через


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

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

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

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

Значения XAML

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

Замечания

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

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

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

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

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

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

См. также