【发布时间】:2014-05-31 06:02:11
【问题描述】:
我正在使用 Font Awesome 的图标在我的 C# WPF 应用程序中呈现基本字体图像。在运行时,当我尝试更改 TextBlock 以显示不同的字体图标但显示的是 unicode 表示而不是字体图标。
我创建了一个示例应用程序来显示它。单击任一按钮时,它会将 TextBlock 的 Text 属性替换为相应图标的 unicode。项目中有一个 Resources 文件夹,其中包含 FontAwesome.ttf 字体文件作为 TextBlock 的 FontFamily 属性引用的构建资源。
这是我的示例应用程序的源代码:
代码隐藏:
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"></TextBlock>
<TextBlock Grid.Row="1" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="18" FontFamily="../Resources/#FontAwesome"></TextBlock>
<TextBlock Grid.Row="1" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="18" FontFamily="../Resources/#FontAwesome"></TextBlock>
<TextBlock Name="tblkFontIcon" Grid.Row="2" Grid.ColumnSpan="3" FontSize="64" FontFamily="../Resources/#FontAwesome" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
</Grid>
我使用以下教程将 Font Awesome 合并到我的应用程序 http://www.codeproject.com/Tips/634540/Using-Font-Icons
所以本质上,我怎样才能更改图标但有图标显示 - 而不是 Unicode?p>
提前致谢。
【问题讨论】:
-
您需要此代码。它可以让您免于手动输入 unicode:github.com/fzany/Font-Awesome-Cheat-Charp
标签: c# wpf xaml fonts font-awesome