例如,假设我想将以下值绑定到TextBlock的Text属性:& amp; 必须显示为&。
它的绑定语法如何?
<TextBlock Text="{Binding Foo}" HorizontalAlignment="Left" />
class MyViewModel : BaseViewModel {
public string Foo {get; set;}
public MyViewModel { Foo = "&" }
}
这显示“&amp; amp; ”而不是“&amp; ”。
请注意,char&amp;是选择任意的问题是关于任何你不能直接从键盘输入的字符,如&amp ;.例如&安培; 8730;
答案 0 :(得分:1)
The C# parser isn't an XML parser,所以它不知道&
有什么特别之处。控件的Text属性也不是XML解析器,因此它只显示您给它的五个字符。
所以给它一个真实的角色。如果您在C#文字字符串中执行此操作,则将其编码为C#解析器,因为它是解析它的解析器 - 在此特定情况下,只需给它一个文字&符号,它在C#文字字符串中不需要转义。对于\x8730
,只需将其"\x8730"
。
public MyViewModel { Foo = "&" }
不是需要XML编码的WPF控件;它是需要它的XML解析器。