我需要TextBlock
如果我在"∞"
中TextBlock.Text
写好TextBlock
“∞”符号。
<TextBlock Text="∞"/>
但如果我使用Converter
。
<TextBlock Text="{Binding MyValue, Converter={StaticResource MyConverter}}"/>
我在"∞"
中有TextBlock
个文字。
public class MyConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return "∞";
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
有没有解决方案?
答案 0 :(得分:7)
∞
,又名∞
是一个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); //ɢ♠♤ä<>&'"
Console.WriteLine(HtmlEntities.Decode(b)); //ɢ♠♤ä<>&'"
因此,如果您有一个包含htmlEntities的字符串,则可以使用
return HtmlEntities.Decode("& #8734;");