如何在WPF中使用icon [Font-awesome]

shi*_*ani 19 wpf wpf-controls font-awesome

我是WPF的新手.我想在文本框和按钮中使用Font-awesome Icon.但图标未与我的文本框绑定

我将Font-awesome资源安装到我的应用程序中.

让我知道如何使用它的方式

谢谢,

我真的需要它请帮帮我..

第1步:下载Font-Awesome

工具 - >库包管理器 - >包管理器控制台安装

PM> Install-Package FontAwesome.WPF

第2步:添加资源

<Application> xmlns:fa="http://schemas.fontawesome.io/icons/" </Application>
Run Code Online (Sandbox Code Playgroud)

第3步:放入App.xaml

<Application.Resources>

    <Style x:Key="FontAwesome">
        <Setter Property="TextElement.FontFamily" Value="pack://application:,,,/fonts/#FontAwesome" />
    </Style>

</Application.Resources>
Run Code Online (Sandbox Code Playgroud)

第4步:在Demo.xaml中使用它

<TextBlock Style="{StaticResource FontAwesome}"
FontSize="75"
Text="&#xf133;" />
Run Code Online (Sandbox Code Playgroud)

第5步: - 输出

我的输出就是这个

mah*_*ble 34

首先,下载Font Awesome,解压缩ZIP文件并复制fonts/fontawesome-webfont.ttf到解决方案中的Fonts文件夹中.将属性中的Build Action设置为Resource(如果尚未设置)

在此输入图像描述

接下来,在资源中添加一个样式App.xaml.不要忘记#字体名称的前面,并记住使用字体的内部名称,而不是文件的名称.要检查字体名称,只需双击字体文件,它将在Windows字体查看器中打开.字体名称将位于顶部.

在此输入图像描述

<Application.resources>
<FontFamily x:Key="FontAwesome">/Fonts/fontawesome-webfont.ttf#FontAwesome</FontFamily>
</Application.resources>
Run Code Online (Sandbox Code Playgroud)

MainWindow.xaml使用以下代码段打开并替换网格:

<Grid VerticalAlignment="Center" HorizontalAlignment="Center">

<StackPanel Orientation="Horizontal" >

<TextBlock Text="I" FontSize="32" Margin="10" VerticalAlignment="Center"></TextBlock>


<TextBlock x:Name="tbFontAwesome" Text="&#xf004;" FontFamily="{StaticResource FontAwesome}" Foreground="Red" FontSize="32" Margin="10" VerticalAlignment="Center"></TextBlock>
<TextBlock Text="Font Awesome" FontSize="32" Margin="10" VerticalAlignment="Center"></TextBlock>

</StackPanel>

</Grid>
Run Code Online (Sandbox Code Playgroud)

注意textblock的"Text"属性 "tbFontAwesome",它的Unicodefor Heart.

备忘单

  • @mahendrakamble,您如何看待使用NuGet包,如本页所示:https://github.com/charri/Font-Awesome-WPF/blob/master/README-WPF.md? (2认同)

kjh*_*jhf 13

为了扩展已接受的答案,因为它有点过时和缺少信息,这就是我所做的:

  • 下载FontAwesome
  • 解压缩存档
  • 在解压缩的文件夹中,在该use-on-desktop文件夹下,找到所需的版本.NB Solid拥有最多的免费图标; 一些图标需要Pro支付Regular和Light版本.
    • 对我来说,这是Font Awesome 5 Free-Solid-900.otf.
  • 按照接受的答案和大多数教程,首先在C#项目中创建一个名为的子文件夹Fonts.将字体文件粘贴到此文件夹中.
  • FontAwesome.otf为简洁起见,我重命名了这个文件
  • 设置此文件的属性:
    • 构建行动:资源
    • 复制到输出目录:如果更新/复制,则复制
  • 在App.xaml <Application.Resources>或其他中<ResourceDictionary>,插入:
  • <FontFamily x:Key="FontAwesome">/YOUR_PROJECT_NAME;component/Fonts/FontAwesome.otf#Font Awesome 5 Free Solid</FontFamily>
    • 将YOUR_PROJECT_NAME替换为您的项目名称.我包括这个,因为如果您跨项目使用MergedDictionaries,则需要它.
    • 如果未将文件放在项目子文件夹中Fonts,请重命名或省略路径的这一部分.
    • 检查文件名是否匹配:将FontAwesome.otf替换为文件名(或重命名文件本身).
    • 检查内部字体名称.您可以按照接受的答案执行此操作.(从资源管理器中打开.otf或.tff文件以启动Windows字体查看器,复制字体名称).
    • 用字体名称替换Font Awesome 5 Free Solid(在#之后).
    • 不要安装该字体,否则您无法验证是否已正确执行这些步骤,并且字体可能无法在未安装该字体的计算机上运行.


Log*_*gix 7

我知道这是一个老问题,当时您可能无法使用此选项,因此我想我会为任何偶然发现此问题的人提供更新的方法。我建议您从这里安装 NuGet 包“FontAwesome5”:

NuGet.org 上的 FontAwesome5

或在 Visual Studio 的内置 NuGet 包管理器窗口中搜索“fontawesome5”

工具 > NuGet 包管理器 > 管理解决方案的 NuGet 包...

- 它通常是使用这个精确搜索词时的最佳结果。

然后只需将以下命名空间添加到您的 XAML 文档中:

xmlns:fa5="http://schemas.fontawesome.com/icons/"
Run Code Online (Sandbox Code Playgroud)

然后你应该会发现在你的项目中添加图标相对容易。例如:

<fa5:ImageAwesome Icon="Solid_ExclamationTriangle" Foreground="#FFFF7400"/>
Run Code Online (Sandbox Code Playgroud)

或者

<fa5:FontAwesome Icon="Solid_ExclamationTriangle" Foreground="#FFFF7400"/>
Run Code Online (Sandbox Code Playgroud)

这样做的好处在于,IntelliSense 会向您显示所有可用图标的列表,让您免去前往网站进行搜索的麻烦。