Share via


Tipo XAML intrinseco x:XData

Abilita il posizionamento di isole dati XML all'interno di una produzione XAML. Gli elementi XML all'interno x:XData di non devono essere considerati dai processori XAML come se fossero parte dello spazio dei nomi XAML predefinito o di qualsiasi altro spazio dei nomi XAML. x:XData può contenere codice XML arbitrario ben formato.

Utilizzo della sintassi XAML per gli elementi oggetto

<x:XData>
  <elementDataRoot>
    [elementData]
  </elementDataRoot>
</x:XData>

Valori XAML

Valore Descrizione
elementDataRoot Singolo elemento radice dell'isola dati racchiusa. Per la maggior parte dei consumer finali, il codice XML che non dispone di una singola radice è considerato non valido. In particolare, è necessaria una singola radice se l'oggetto è destinato a un'origine dati XML per WPF o molte altre tecnologie che usano origini XML per il x:XData data binding.
[elementData] (Facoltativo). XML che rappresenta i dati XML. Qualsiasi numero di elementi può essere contenuto come dati degli elementi e gli elementi annidati possono essere contenuti in altri elementi; Tuttavia, si applicano le regole generali di XML.

Osservazioni

Gli elementi XML all'interno di un x:XData oggetto possono dichiarare nuovamente tutti gli spazi dei nomi e i prefissi possibili dell'XMLDOM contenitore all'interno dei dati.

L'accesso a livello di codice ai dati XML e al x:XData tipo XAML intrinseco è possibile nei servizi XAML .NET tramite la XData classe .

Note sull'utilizzo di WPF

L'oggetto x:XData viene usato principalmente come oggetto figlio di un XmlDataProvideroggetto , o in alternativa, come oggetto figlio della XmlDataProvider.XmlSerializer proprietà (in XAML, questo viene in genere espresso nella sintassi dell'elemento proprietà).

I dati devono in genere ridefinire lo spazio dei nomi XML di base all'interno dell'isola dati in modo che sia un nuovo spazio dei nomi XML predefinito (impostato su una stringa vuota). Questo è più semplice per semplici isole dati perché le XPath espressioni usate per fare riferimento e associare ai dati possono evitare l'inclusione di prefissi. Le isole dati più complesse possono definire più prefissi per i dati e usare un prefisso specifico per lo spazio dei nomi XML nella radice. In questo caso, tutti i XPath riferimenti all'espressione devono includere il prefisso mappato allo spazio dei nomi appropriato. Per altre informazioni, vedere la panoramica del data binding.

Tecnicamente, x:XData può essere usato come contenuto di qualsiasi proprietà di tipo IXmlSerializable. Tuttavia, XmlDataProvider.XmlSerializer è l'unica implementazione di rilievo.

Vedi anche