Systeminterner x:XData-XAML-Typ
Aktiviert die Platzierung von XML-Dateninseln innerhalb einer XAML-Produktion. XML-Elemente x:XData sollten nicht von XAML-Prozessoren so behandelt werden, als ob sie Teil des agierenden XAML-Standardnamespace oder eines anderen XAML-Namespace wären. x:XData kann beliebige wohlgeformte XML enthalten.
Verwendung von XAML-Objektelementen
<x:XData>
<elementDataRoot>
[elementData]
</elementDataRoot>
</x:XData>
XAML-Werte
elementDataRoot |
Das einzelne Stammelement der eingeschlossenen Dateninsel. Für die meisten tatsächlichen Consumer wird XML, das keinen einzelnen Stamm hat, als ungültig angesehen. Insbesondere ist ein einzelner Stamm erforderlich, wenn x:XData als XML-Datenquelle für WPF und viele anderen Technologien vorgesehen ist, die XML-Quellen für die Datenbindung verwenden. |
[elementData] |
Optional. XML, das die XML-Daten darstellt. Entsprechend den allgemeinen XML-Regeln kann eine beliebige Anzahl von Elementen als Elementdaten und verschachtelten Elemente in anderen Elementen enthalten sein. |
Hinweise
Die XML-Elemente in einem x:XData-Objekt können alle möglichen Namespaces und Präfixe der enthaltenen XMLDOM in den Daten deklarieren.
Programmgesteuerter Zugriff auf XML-Daten und der x:XData systeminterne XAML-Typ ist in .NET Framework-XAML-Diensten durch die XData-Klasse möglich.
Hinweise zur WPF-Verwendung
Das x:XData-Objekt wird vorrangig als untergeordnetes Objekt von XmlDataProvider oder alternativ dazu als untergeordnetes Objekt der XmlDataProvider.XmlSerializer-Eigenschaft verwendet (in XAML wird sie in der Regel mithilfe der Eigenschaftenelementsyntax ausgedrückt).
Normalerweise sollten die Daten den XML-Basis-Namespace innerhalb der Dateninsel als neuen XML-Namespace (auf eine leere Zeichenfolge gesetzt) definieren. Dies ist für simple Dateninseln am einfachsten, da die XPath-Ausdrücke, die zum Verweisen auf und Binden an die Daten verwendet werden, keine Einbeziehung von Präfixen erfordern. Komplexere Dateninseln können für die Daten mehrere Präfixe definieren und auf Stammebene für den XML-Namespace ein spezielles Präfix verwenden. In diesem Fall müssen alle Verweise auf XPath-Ausdrücke das entsprechende Präfix mit Namespacezuordnung enthalten. Weitere Informationen finden Sie unter Übersicht über Datenbindung.
Technisch können Sie x:XData als Inhalt einer beliebigen Eigenschaft vom Typ IXmlSerializable verwenden. Die einzige deutlich erkennbare Implementierung ist jedoch XmlDataProvider.XmlSerializer..