У меня в настоящее время есть Поле комбинированного списка как следующее:
//XAML
<ComboBox>
<ComboBoxItem> Awake & Alive</ComboBoxItem>
</ComboBox>
Это повышает ошибку: Ссылки на сущность или последовательности, начинающиеся с амперсанда '&', должны быть завершены с точкой с запятой'';.
Я предполагаю, что пропускаю какую-то escape-последовательность, чтобы позволить мне использовать a и. Как я могу установить содержание этого comboboxitem для включения a и?
Используйте & amp;
для кодирования амперсанда.
//XAML
<ComboBox>
<ComboBoxItem> Awake & Alive</ComboBoxItem>
</ComboBox>
Краткий ответ - использовать & amp;
] для кодировать амперсанд.
См. также Entities: Handling Special Content на XML.com:
На самых низких уровнях синтаксический анализатор XML - это просто программа, которая читает через XML-документ по очереди и анализирует его так или иначе, а затем ведет себя соответствующим образом. Он знает, что ему нужно обрабатывать один контент иначе, чем другой контент. Эти особые случаи отличает наличие таких символов, как «
&
» и «<
». Они действуют как флаги для парсера; они разграничивают фактическое содержание документа, предупреждая синтаксический анализатор о том, что он должен сделать что-то в этот момент, а не просто передать смежный контент в какое-то нижестоящее приложение.... Итак, один из способов обойти вашу непосредственную проблему - заменить амперсанд в вашем контенте на ссылка на соответствующий объект:
<компания> Harris & amp; Джордж
.
Кроме того, вы можете использовать тег CDATA вокруг содержимого элемента ComboBoxItem; Думаю, это лучше поддерживает читабельность текста.
//XAML
<ComboBox>
<ComboBoxItem><![CDATA[Awake & Alive]]></ComboBoxItem>
</ComboBox>
Для справки: http://www.w3schools.com/xmL/xml_cdata.asp