How to put a unicode character in XAML?
WpfXamlUnicodeBindingWpf Problem Overview
I'm trying to do this:
<TextBlock Text="{Binding Path=Text,
Converter={StaticResource stringFormatConverter},
ConverterParameter='&\u2014{0}'}" />
To get a — to appear in front of the text. It doesn't work. What should I be doing here?
Wpf Solutions
Solution 1 - Wpf
Since XAML is an XML file format you could try the XML character escape. So instead of writing &\u2014
, you could write —
instead.
Solution 2 - Wpf
In xaml I did it like this:
<Button Grid.Column="1" Grid.RowSpan="2" Name="start" Margin="5" Click="start_Click">
<TextBlock Name="test" FontFamily="pack://application:,,,/Y_Yoga;Component/Resources/#FontAwesome"></TextBlock>
</Button>
Hope to be helpful!
Solution 3 - Wpf
I came to this page for some other reason, but this does not include the easiest and the obvious solution.
This is what I do.
Maintain a static class with all the Unicode values.
public static class Icons
{
public const string IconName = "\u2014";
}
And then just bind it wherever you need it.
<TextBlock Text="{x:Static resources:Icons.IconName}" FontFamily="..."/>
This also helps you out with maintenance, all icons would be in one place to manage.
Solution 4 - Wpf
> Markup files that are created in Microsoft Visual Studio are > automatically saved in the Unicode UTF-8 file format, which means that > most special characters, such as accent marks, are encoded correctly. > However, there is a set of commonly-used special characters that are > handled differently. These special characters follow the World Wide > Web Consortium (W3C) XML standard for encoding.
What this means is that you can do zalgo for all you care
Bit of code that is relevant:
<Label Grid.Column="0" Grid.Row="3" FontWeight="ExtraBlack">STAGE:Mͣͭͣ̾ Vͣͥͭ͛ͤͮͥͨͥͧ̾</Label>
Solution 5 - Wpf
Save the file as UTF-8. In Visual Studio, you can do this by going "File" → "Advanced Save Options".