Modification de l'Icône de Police dans WPF utilisant la Police Impressionnant

Je suis rendant l'utilisation de la Police de Génial avec les icônes à rendre de police de base des images au sein de mon application WPF en C#. Au cours de l'exécution lorsque je tente de modifier le TextBlock pour afficher une autre icône de police, mais de la représentation unicode est affiché à la place de l'icône de police.

J'ai créé un exemple d'application pour afficher cette. Lorsque l'utilisateur clique sur les boutons, il remplace la propriété Text de TextBlock avec l'unicode pour l'icône correspondante. Il y a un dossier de Ressources dans le projet qui a le FontAwesome.ttf fichier de police comme une accumulation de Ressources qui le TextBlock est FontFamily références de propriété.

Voici mon exemple d'application du code source:

Code-Behind:

namespace FontAwesomeTest
{
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private void btnGlass_Click(object sender, RoutedEventArgs e)
    {
        tblkFontIcon.Text = "";            
    }

    private void btnMusic_Click(object sender, RoutedEventArgs e)
    {
        tblkFontIcon.Text = "";
    }

    private void btnSearch_Click(object sender, RoutedEventArgs e)
    {
        tblkFontIcon.Text = "";
    }        
}
}

XAML:

<Window x:Class="FontAwesomeTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Font Awesome Test Window" Height="300" Width="330" Name="FontAwesomeTestWindow">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="25"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Button Name="btnGlass" Height="35" Width="85" Click="btnGlass_Click" >Glass</Button>
<Button Name="btnMusic" Grid.Column="1" Height="35" Width="85" Click="btnMusic_Click">Music</Button>
<Button Name="btnSearch" Grid.Column="2" Width="85" Height="35"  Click="btnSearch_Click">Search</Button>
<TextBlock Grid.Row="1" Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="18" FontFamily="../Resources/#FontAwesome">&#xf000;</TextBlock>
<TextBlock Grid.Row="1" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="18" FontFamily="../Resources/#FontAwesome">&#xf001;</TextBlock>
<TextBlock Grid.Row="1" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="18" FontFamily="../Resources/#FontAwesome">&#xf002;</TextBlock>
<TextBlock Name="tblkFontIcon" Grid.Row="2" Grid.ColumnSpan="3" FontSize="64" FontFamily="../Resources/#FontAwesome" HorizontalAlignment="Center" VerticalAlignment="Center">&#xf011;</TextBlock>
</Grid>

J'ai utilisé le tutoriel suivant pour intégrer la Police Génial dans mon application http://www.codeproject.com/Tips/634540/Using-Font-Icons

Donc, en substance, comment puis-je changer l'Icône, mais avoir un affichage de l'Icône - de ne pas l'Unicode?

Merci d'avance.

Vous avez besoin de ce code. Il serait vous faire économiser de taper unicodes manuellement: github.com/fzany/Font-Awesome-Cheat-Charp

OriginalL'auteur Gareth | 2014-04-16