2

在 Windows 商店应用程序的 .xaml 中,如果我这样写:

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

它会渲染一颗星星。

但是如果我在 C# 代码中这样写:

TextBlock tb = new TextBlock
{
    Text = "&#x2606;"
};

它不会渲染,为什么?如何渲染 unicode 写在 C# 代码中?

4

2 回答 2

6

&...;符号是 XML 编码,没有应用于 C# 字符串的解码。利用

TextBlock tb = new TextBlock
{
    Text = "\x2606";
    // Or just:
    // Text = "☆";
};
于 2013-07-29T13:28:05.897 回答
0

您正在使用所谓的 xmlunicode 字形...请参阅此 unicode 字形列表

要在 c# 中输出压力轮廓的白色星形,您可以指定 unicode,如下所示:

char c = '\u2729';
System.Console.WriteLine(c.ToString());

请参阅此链接以获得更好的描述

有关unicode 字符及其各自代码的列表,请参阅此链接

于 2013-07-29T13:32:06.403 回答