TextBlock中的无穷大符号

时间:2014-09-10 11:01:12

标签: c# windows-phone-8 unicode ivalueconverter

我需要TextBlock

中的无穷大符号

如果我在"∞"TextBlock.Text写好TextBlock“∞”符号。

<TextBlock Text="&#8734;"/> 

但如果我使用Converter

<TextBlock Text="{Binding MyValue, Converter={StaticResource MyConverter}}"/> 

我在"&#8734;"中有TextBlock个文字。

 public class MyConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {           
           return "&#8734;";           
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
           throw new NotImplementedException();
        }
    }

有没有解决方案?

2 个答案:

答案 0 :(得分:7)

&#8734;,又名&#x221E;是一个XML字符引用,当解析包含它的XML文件时,它会转换为字符U + 221E 。但是在XML之外,在C#字符串文字中,&#序列没有什么特别之处,只是一个符号和哈希。 C#中的字符串文字使用反斜杠字符作为其转义而不是XML样式的字符引用,以便在ASCII安全字符串文字中包含无穷大符号:

return "\u221E";

或者如果您的编辑和编译器就源代码编码达成一致,您可以简单地说:

return "∞";

答案 1 :(得分:1)

我在stackoverflow上找到了这个主题: Does C# have something like PHP's mb_convert_encoding()?

string a = "ɢ♠♤ä<>&'\"";
string b = HtmlEntities.Encode(a);
Console.WriteLine(b); //&#610;&spades;&#9828;&auml;<>&'"
Console.WriteLine(HtmlEntities.Decode(b)); //ɢ♠♤ä<>&'"

因此,如果您有一个包含htmlEntities的字符串,则可以使用

return HtmlEntities.Decode("& #8734;");