x:XData Systeminterner XAML-Typ
Ermöglicht die Platzierung von XML-Dateninseln innerhalb einer XAML-Produktion. XML-Elemente innerhalb x:XData
sollten nicht von XAML-Prozessoren behandelt werden, als wären sie Teil des handelnden standardmäßigen XAML-Namespaces oder eines anderen XAML-Namespaces.
x:XData
kann beliebige wohlgeformte XML-Daten enthalten.
XAML-Objektelementverwendung
<x:XData>
<elementDataRoot>
[elementData]
</elementDataRoot>
</x:XData>
XAML-Werte
Wert | Beschreibung |
---|---|
elementDataRoot |
Das einzelne Stammelement der eingeschlossenen Dateninsel. Für die meisten Verbraucher gilt XML, für das kein einziges Stammverzeichnis vorhanden ist, als ungültig. Insbesondere ist ein einzelner Stamm erforderlich, wenn die x:XData als XML-Datenquelle für WPF oder viele andere Technologien vorgesehen ist, die XML-Quellen für die Datenbindung verwenden. |
[elementData] |
Wahlfrei. XML, das die XML-Daten darstellt. Eine beliebige Anzahl von Elementen kann als Elementdaten und geschachtelte Elemente in anderen Elementen enthalten sein; Die allgemeinen Regeln von XML gelten jedoch. |
Bemerkungen
Die XML-Elemente innerhalb eines x:XData
-Objekts können alle möglichen Namespaces und Präfixe des enthaltenden XMLDOM in den Daten neu deklarieren.
Der programmgesteuerte Zugriff auf XML-Daten und der x:XData
systeminternen XAML-Typs ist in .NET XAML Services über die XData-Klasse möglich.
WPF-Verwendungshinweise
Das x:XData
-Objekt wird in erster Linie als untergeordnetes Objekt eines XmlDataProvideroder alternativ als untergeordnetes Objekt der XmlDataProvider.XmlSerializer-Eigenschaft verwendet (in XAML wird dies in der Regel in der Eigenschaftselementsyntax ausgedrückt).
Die Daten sollten in der Regel den Basis-XML-Namespace innerhalb der Dateninsel neu definieren, um einen neuen Standard-XML-Namespace zu sein (auf eine leere Zeichenfolge festgelegt). Dies ist am einfachsten für einfache Dateninseln, da die XPath Ausdrücke, die zum Verweisen und Binden an die Daten verwendet werden, verhindern, dass Präfixe einbezogen werden. Komplexere Dateninseln definieren möglicherweise mehrere Präfixe für die Daten und verwenden ein bestimmtes Präfix für den XML-Namespace im Stammverzeichnis. In diesem Fall sollten alle XPath Ausdrucksverweise das entsprechende namespace-zugeordnete Präfix enthalten. Weitere Informationen finden Sie unter Data Binding Overview.
Technisch kann x:XData
als Inhalt einer beliebigen Eigenschaft vom Typ IXmlSerializableverwendet werden.
XmlDataProvider.XmlSerializer ist jedoch die einzige prominente Implementierung.
Siehe auch
- XmlDataProvider
- übersicht über Datenbindung
- Bindungsmarkuperweiterung
.NET Desktop feedback