如何将特殊字符串绑定到文本块

时间:2016-06-06 12:53:08

标签: c# .net wpf xaml data-binding

例如,假设我想将以下值绑定到TextBlock的Text属性:& amp; 必须显示为&。

它的绑定语法如何?

<TextBlock Text="{Binding Foo}" HorizontalAlignment="Left" />

class MyViewModel : BaseViewModel {
    public string Foo {get; set;}

    public MyViewModel { Foo = "&amp;" }
}

这显示“&amp; amp; ”而不是“&amp; ”。

请注意,char&amp;是选择任意的问题是关于任何你不能直接从键盘输入的字符,如&amp ;.例如&安培; 8730;

1 个答案:

答案 0 :(得分:1)

The C# parser isn't an XML parser,所以它不知道&amp;有什么特别之处。控件的Text属性也不是XML解析器,因此它只显示您给它的五个字符。

所以给它一个真实的角色。如果您在C#文字字符串中执行此操作,则将其编码为C#解析器,因为它是解析它的解析器 - 在此特定情况下,只需给它一个文字&符号,它在C#文字字符串中不需要转义。对于\x8730,只需将其"\x8730"

public MyViewModel { Foo = "&" }

不是需要XML编码的WPF控件;它是需要它的XML解析器。