x:XData XAML ディレクティブ要素
更新 : 2007 年 11 月
x:XData XAML ディレクティブ要素は、XAML ページ内に XML データ アイランドを配置します。このディレクティブ要素内の XML 要素は、WPF 名前空間の一部としては処理されません。また、任意の整形式 XML を含むことができます。
XAML オブジェクト要素の使用方法
<XmlDataProvider ...>
<x:XData>
<elementDataRoot>
[elementData]
</elementDataRoot>
</x:XData>
</XmlDataProvider>
XAML 値
elementDataRoot |
必須。囲まれたデータ アイランドの単一ルート要素。単一ルートを持たない x:XData は、データ ソースとしては無効です。 |
[elementData] |
省略可能。データを表す XML。要素データとして任意の数の要素を持つことができる、要素を他の要素の中に入れ子にできるなど、XML の一般規則が適用されます。 |
依存関係
x:XData 要素は、主に XmlDataProvider の子要素として、またはオブジェクト プロパティ構文で表される XmlDataProvider プロパティの XmlSerializer プロパティの子要素として使用されます。
解説
このディレクティブ要素内の XML 要素は、このデータ アイランド内に存在する可能性のあるすべての名前空間およびプレフィックスを再宣言できます。一般に、データ アイランド内では、基本 XML 名前空間を新しい既定の XML 名前空間として再定義する必要があります (空の文字列に設定)。この方法は、単純なデータ アイランドの場合には最も簡単です。データを参照やバインドに XPath 式を使用することでプレフィックスが不要になるからです。より複雑なデータ アイランドでは、データのプレフィックスを複数定義し、ルートにある XML 名前空間に特定のプレフィックスを使用するという方法を選択できます。この場合は、すべての XPath 式参照において、名前空間にマップされた適切なプレフィックスを付ける必要があります。
技術的には、x:XData は IXmlSerializable 型の任意のプロパティのコンテンツとして使用できます。ただし、よく使用されているのは XmlDataProvider.XmlSerializer の実装のみです。