Cómo incluir un ampersand (&) en el contenido de un ComboBoxItem

84

Actualmente tengo un Combobox como el siguiente:

//XAML
<ComboBox>
<ComboBoxItem> Awake & Alive</ComboBoxItem>
</ComboBox>

Esto genera un error: las referencias de entidad o secuencias que comienzan con un ampersand '&' deben terminar con un punto y coma ';'.

Supongo que me falta una secuencia de escape de algún tipo que me permita usar un &. ¿Cómo puedo configurar el contenido de este elemento combinado para incluir un &?

CrimsonX
fuente

Respuestas:

173

Úselo &amp;para codificar el ampersand.

//XAML
<ComboBox>
<ComboBoxItem> Awake &amp; Alive</ComboBoxItem>
</ComboBox>
Andy West
fuente
20

La respuesta corta es utilizar &amp;para codificar un ampersand.

Consulte también Entidades: Manejo de contenido especial en XML.com:

En los niveles más bajos, un analizador XML es simplemente un programa que lee a través de un documento XML un carácter a la vez y lo analiza de una forma u otra, luego se comporta en consecuencia. Sabe que tiene que procesar algunos contenidos de manera diferente a otros contenidos. Lo que distingue a estos casos especiales es la presencia de caracteres como " &" y " <". Actúan como indicadores para el analizador; delimitan el contenido real del documento, alertando al analizador del hecho de que debe hacer algo en este punto que no sea simplemente pasar el contenido adyacente a alguna aplicación posterior.

... Así que una manera de conseguir alrededor de su problema inmediato es reemplazar el símbolo de unión en su contenido con la referencia entidad apropiada: <company>Harris &amp; George</company>.

Sinan Ünür
fuente
He corregido la terminología (codificar frente a escape) en mi respuesta. Gracias por avisarme.
Andy West
Su vínculo tiene comparaciones útiles para>, <, "y '. Consulte la tabla que comienza con" Referencia de entidad representa ... "
CrimsonX
Esa es una respuesta GRT :) thnx :)
Apoorva
7

Alternativamente, puede usar la etiqueta CDATA alrededor del contenido del elemento ComboBoxItem; Creo que mantiene mejor la legibilidad del texto.

//XAML
<ComboBox>
<ComboBoxItem><![CDATA[Awake & Alive]]></ComboBoxItem>
</ComboBox>

Para referencia: http://www.w3schools.com/xmL/xml_cdata.asp

caosTécnico
fuente