我目前有一个类似下面的Combobox:
//XAML
<ComboBox>
<ComboBoxItem> Awake & Alive</ComboBoxItem>
</ComboBox>
这会引发错误: 以&符号'&amp;'开头的实体引用或序列必须以分号“;”结束。
我认为我错过了某种类型的转义序列,允许我使用&amp ;.如何设置此组合框的内容以包含&amp;?
答案 0 :(得分:154)
使用&
对&符号进行编码。
//XAML
<ComboBox>
<ComboBoxItem> Awake & Alive</ComboBoxItem>
</ComboBox>
答案 1 :(得分:17)
简短的回答是使用&
编码&符号。
另请参阅XML.com上的Entities: Handling Special Content:
在最低级别,XML解析器只是一个程序,它一次读取XML文档中的一个字符并以某种方式对其进行分析,然后相应地运行。它知道它必须以不同于其他内容的方式处理某些内容。这些特殊情况的区别在于存在“
&
”和“<
”等字符。它们充当解析器的标志;它们界定了文档的实际内容,提醒解析器此时必须执行某些操作,而不是简单地将相邻内容传递给某个下游应用程序。...因此,解决您眼前问题的一种方法是使用适当的实体引用替换内容中的&符:
<company>Harris & George</company>
。
答案 2 :(得分:7)
或者,您可以在ComboBoxItem元素的内容周围使用CDATA标记;我认为最好保持文本的可读性。
//XAML
<ComboBox>
<ComboBoxItem><![CDATA[Awake & Alive]]></ComboBoxItem>
</ComboBox>