In my code-behind, I'm trying to return the hexcode for a unicode character.
I'm trying to output any one of these characters for the Segoe UI Symbol font: http://www.istartedsomething.com/uploads/emojisegoe.html. For example, "U+1F60A".
If I do so via my xaml, such as:
FontFamily="Segoe UI Symbol" Text="😊"
Then it works fine.
But if I bind the value to retrieve it via a .cs converter class, the correct character doesn't appear:
FontFamily="Segoe UI Symbol" Text="{Binding Pivot7Days.EmojiWeekendSummary, Converter={StaticResource EmoticonConverter}}"
Converter class:
switch (input)
{
case "happy":
return "\u1F60A";
case "sad":
return "\u1F60B";
default:
return "\u1F610";
}
I get an entirely different character followed by the final character in the returned string, such as 'A', 'B' or '0'. For example, when I should be seeing a face with tongue out (U+1F60B), I instead get the following:
Am I using the incorrect escape sequence in my code behind?
Characters beyond U+FFFF cannot be directly written as \u....
literals (if you try that, only the first four hex digits are used, and you get a wrong character) but as a surrogate pair or, easier, using an eight-digit \U
literal, e.g. '\U0001F60A'
for U+1F60A.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With