我正在使用 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>
提前致谢。
最佳答案
Font Awesome 具有名为 FontAwesome.UWP 和 FontAwesome.WPF 的 NuGet 包。只需下载其中一个即可。
如果您将使用图标导入跟随命名空间到您的 XAML 代码中:
xmlns:fa="http://schemas.fontawesome.io/icons/"
像这样在你的按钮中使用它:
<Button x:Name="btnButton">
<Button.Content>
<fa:ImageAwesome Icon="LongArrowLeft"/>
</Button.Content>
</Button>
最后在您的 C# 代码后面:
using FontAwesome.WPF; // on the top of the code
btnButton.Content = FontAwesomeIcon.LongArrowRight;
关于c# - 使用 Font Awesome 更改 WPF 中的字体图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23108181/