x:XData 組み込み XAML 型

XAML 運用環境内での XML データ アイランドの配置を有効にします。 x:XData 内の XML 要素は、動作する既定の XAML 名前空間またはその他の 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 の一般的な規則が適用されます。

Remarks

x:XData オブジェクト内の XML 要素は、データ内の格納されている XMLDOM のすべての可能な名前空間とプレフィックスを再宣言できます。

.NET XAML サービスでは、XData クラスを使用して、プログラムで XML データと x:XData 組み込み XAML 型にアクセスできます。

WPF の使用上の注意

x:XData オブジェクトは、主に XmlDataProvider の子オブジェクトとして使用されるか、XmlDataProvider.XmlSerializer プロパティの子オブジェクトとして使用されます (XAML では、これは通常はプロパティ要素構文で表されます)。

データは、通常、データ アイランド内の基本 XML 名前空間を新しい既定の XML 名前空間に再定義する必要があります (空の文字列に設定します)。 データの参照とバインドに使用される XPath 式にプレフィックスを含めるのを回避できるため、単純なデータ アイランドではこれが最も簡単です。 複雑なデータ アイランドでは、データに複数のプレフィックスを定義し、ルートの XML 名前空間で特定のプレフィックスを使用する場合があります。 この場合、すべての XPath 式の参照には、適切な名前空間にマップされたプレフィックスが含まれている必要があります。 詳しくは、「 データ バインディングの概要」をご覧ください。

技術的には、IXmlSerializable 型の任意のプロパティのコンテンツとして x:XData を使用できます。 ただし、XmlDataProvider.XmlSerializer が唯一の優れた実装です。

関連項目