2013-07-25 34 views
0

当我设置在一个Silverlight5应用程序代码隐藏RolesTextName的Text属性做:与号在XAML

RolesTextName.Text = "David & Goliath"; 


<TextBlock TextWrapping="Wrap"> 
     <Span FontWeight="Bold">Roles:</Span> 
     <Span><Run x:Name="RolesTextName" /></Span> 
</TextBlock> 

问题:我没有得到&符号,只是实际的文本。

回答

1

XAML用于创建代表用户界面的对象图。当通过在代码中设置属性值来修改用户界面时,XAML已经被处理并不再使用。从代码修改对象图时,您不应该执行任何特定于XAML的编码。编码仅在XAML中是必需的,因为它基于XML,并且您需要一种方式来表达字符,如&,<>

所以执行

RolesTextName.Text = "David &amp; Goliath"; 

将运行的文本设置为

 
David &amp; Goliath 

要达到你想要的只是执行该代码insted的:

RolesTextName.Text = "David & Goliath"; 
+0

啊,谢谢。原来我的存储过程由于使用XML PATH而返回&而不是符号。解决方法如下:http://sqlblog.com/blogs/rob_farley/archive/2010/04/15/handling-special-characters-with-for-xml-path.aspx –

0

喜IM也很新的XML,但我已经在过去

此链接一个类似的问题给了我一些见解,希望它可以帮助你。

`<![CDATA[Wake & Bake]]> 

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

+0

感谢日本 - 尽管这更具体地说,XAML ...我怀疑有些奇怪的事情正在发生,因为我希望这个文本能够工作。 –