x:XData 組み込み 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 のすべての考えられる名前空間およびプレフィックスを再宣言できます。
XML データおよび x:XData 組み込み XAML 型へのプログラムによるアクセスは、.NET Framework XAML サービスでは、XData クラスを介して実行できます。
WPF の使用上の注意
The x:XData オブジェクトは主に、XmlDataProvider の子オブジェクトとして使用されるか、XmlDataProvider.XmlSerializer プロパティ (XAML では、通常、プロパティ要素構文で表される) の子オブジェクトとして使用されます。
一般に、データ アイランド内では、基本 XML 名前空間を新しい既定の XML 名前空間として再定義する必要があります (空の文字列に設定)。 この方法は、単純なデータ アイランドの場合には最も簡単です。データを参照やバインドに XPath 式を使用することでプレフィックスが不要になるからです。 より複雑なデータ アイランドでは、データのプレフィックスを複数定義し、ルートにある XML 名前空間に特定のプレフィックスを使用するという方法を選択できます。 この場合は、すべての XPath 式参照において、名前空間にマップされた適切なプレフィックスを付ける必要があります。 詳細については、「データ バインディングの概要」を参照してください。
技術的には、x:XData は IXmlSerializable 型の任意のプロパティのコンテンツとして使用できます。 ただし、よく使用されているのは XmlDataProvider.XmlSerializer の実装のみです。