如何在ComboBoxItem的内容中包含&符号(&)

Cri*_*onX 77 xaml escaping

我目前有一个类似下面的Combobox:

//XAML
<ComboBox>
<ComboBoxItem> Awake & Alive</ComboBoxItem>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)

这会引发错误:以&符号'&'开头的实体引用或序列必须以分号';'结束.

我假设我错过了某种转义序列,允许我使用&.如何设置此组合框的内容以包含&?谢谢

And*_*est 162

使用&amp;编码与符号.

//XAML
<ComboBox>
<ComboBoxItem> Awake &amp; Alive</ComboBoxItem>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)


Sin*_*nür 18

简短的回答是&amp;用于编码&符号.

另请参阅实体:在XML.com上处理特殊内容:

在最低级别,XML解析器只是一个程序,它一次读取XML文档中的一个字符并以某种方式对其进行分析,然后相应地运行.它知道它必须以不同于其他内容的方式处理某些内容.这些特殊情况的区别在于存在诸如" &"和" <" 之类的字符.它们充当解析器的标志; 它们界定了文档的实际内容,提醒解析器此时必须执行某些操作,而不是简单地将相邻内容传递给某个下游应用程序.

...因此,解决您当前问题的一种方法是使用适当的实体引用替换内容中的&符号:<company>Harris &amp; George</company>.


cha*_*ian 7

或者,您可以在ComboBoxItem元素的内容周围使用CDATA标记; 我认为它更好地保持了文本的可读性.

//XAML
<ComboBox>
<ComboBoxItem><![CDATA[Awake & Alive]]></ComboBoxItem>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)

供参考:http://www.w3schools.com/xmL/xml_cdata.asp