How to put a unicode character in XAML?

WpfXamlUnicodeBinding

Wpf 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 &#x2014; 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">&#xF04B;</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

From Microsoft documentation:

> 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

enter image description here

Bit of code that is relevant:

<Label Grid.Column="0" Grid.Row="3" FontWeight="ExtraBlack">STAGE:M&#x363;&#x36d;&#x363;&#x33e;  V&#x363;&#x365;&#x36d;&#x35b;&#x364;&#x36e;&#x365;&#x368;&#x365;&#x367;&#x33e;</Label>

Solution 5 - Wpf

Save the file as UTF-8. In Visual Studio, you can do this by going "File" → "Advanced Save Options".

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAlex BaranoskyView Question on Stackoverflow
Solution 1 - WpfferdleyView Answer on Stackoverflow
Solution 2 - WpfsddView Answer on Stackoverflow
Solution 3 - WpfImran ShaikView Answer on Stackoverflow
Solution 4 - WpfMatas VaitkeviciusView Answer on Stackoverflow
Solution 5 - WpfAkkuView Answer on Stackoverflow