更新:2007 年 11 月
x:XData XAML 指示詞項目會將 XML 資料島放置在 XAML 頁面中。此指示詞項目中的 XML 項目不會做為 WPF 命名空間的一部分處理,而且可以包含語式正確 (Well-Formed) 的任意 XML。
XAML 物件項目使用方式
<XmlDataProvider ...>
<x:XData>
<elementDataRoot>
[elementData]
</elementDataRoot>
</x:XData>
</XmlDataProvider>
XAML 值
elementDataRoot |
必要項。封入資料島的單一根項目 (Root Element)。若無單一根項目,x:XData 便為無效的資料來源。 |
[elementData] |
選擇性。表示您資料的 XML。遵循 XML 的一般規則,也就是包含的項目資料沒有數目的限制,巢狀項目可以包含在其他項目中等等。 |
相依性
x:XData 項目主要用來當做 XmlDataProvider 的子項目,或是當做以物件屬性 (Property) 語法表示之 XmlDataProvider 屬性的 XmlSerializer 屬性子項目。
備註
此指示詞項目內的 XML 項目可以重新宣告資料島內所有可能的命名空間和前置字元。資料通常會將資料島內的基底 XML 命名空間重新定義成新的預設 XML 命名空間 (設定為空字串)。這是處理簡單資料島最容易的方法,因為用來參考和繫結至資料的 XPath 運算式可以避免包含前置字元。較為複雜的資料島可以選擇為資料定義多個前置字元,並在根項目中使用 XML 命名空間的特定前置字元。在這種情況下,所有的 XPath 運算式參考都必須包含適當的命名空間對應前置字元。
技術上來說,x:XData 可以當做型別為 IXmlSerializable 之任何屬性的內容。然而,XmlDataProvider.XmlSerializer 是唯一的重要實作。