2

Windows ストア アプリの .xaml に、次のように記述した場合:

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

それは星をレンダリングします。

しかし、C# コードで次のように記述した場合:

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

レンダリングされません。なぜですか?c#コードでUnicode書き込みをレンダリングする方法??

4

2 に答える 2

6

表記は XML エンコーディングであり、&...;C# 文字列に適用されるデコードはありません。使用する

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

あなたは xmlunicode グリフと呼ばれるものを使用しています...このユニコードグリフのリストを参照してください

C# で強調表示された白い星を出力するには、次のように Unicode を指定します。

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

より良い説明については、このリンクを参照してください

Unicode 文字とそれぞれのコードのリストについては、このリンクを参照してください。

于 2013-07-29T13:32:06.403 に答える