如何在 WPF 中使用图标 [Font-awesome]
how use icon [Font-awesome] in WPF
我是 WPF 新手。我想在文本框和按钮中使用 Font-awesome Icon。但图标未与我的文本框绑定
我在我的应用程序中安装了 Font-awesome 资源。
告诉我如何使用它
谢谢,
我真的需要它请帮助我..
Example
第 1 步:下载 Font-Awesome
工具 -> 库包管理器 -> 包管理器控制台
安装
PM > 安装包 FontAwesome.WPF
第 2 步:添加资源
<Application> xmlns:fa="http://schemas.fontawesome.io/icons/" </Application>
第 3 步:输入 App.xaml
<Application.Resources>
<Style x:Key="FontAwesome">
<Setter Property="TextElement.FontFamily" Value="pack://application:,,,/fonts/#FontAwesome" />
</Style>
</Application.Resources>
第 4 步:在 Demo.xaml
中使用它
<TextBlock Style="{StaticResource FontAwesome}"
FontSize="75"
Text="" />
第 5 步:- 输出
首先,下载 Font Awesome,解压缩 ZIP 文件并将 fonts/fontawesome-webfont.ttf
复制到解决方案中的 Fonts 文件夹中。如果尚未将属性中的构建操作设置为资源
接下来,向 App.xaml
中的资源添加样式。不要忘记字体名称前面的 #
并记住使用字体的内部名称,而不是文件名。要检查字体名称,只需双击字体文件,它将在 Windows 字体查看器中打开。字体名称将在顶部。
<Application.resources>
<FontFamily x:Key="FontAwesome">/Fonts/fontawesome-webfont.ttf#FontAwesome</FontFamily>
</Application.resources>
打开 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="" 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>
注意 "tbFontAwesome"
文本块的 "Text"
属性,它是 Heart
的 Unicode
。
您也可以手动从 TextBlock.That 的 FontFamily 属性 中 select FontAwesome 来解决问题。
如果 FontAwesome 不在字体列表中,那么您可能需要像第一个答案建议的那样导入字体文件。
为了扩展已接受的答案,因为它有些过时并且缺少信息,我是这样做的:
- 下载FontAwesome
- 解压缩档案
- 在解压后的文件夹中,在
use-on-desktop
文件夹下,找到你想要的版本。 N.B。 Solid 拥有最多的免费图标;某些图标需要为普通版和精简版付费。
- 对我来说,这是
Font Awesome 5 Free-Solid-900.otf
。
- 按照已接受的答案和大多数教程,首先在名为
Fonts
的 C# 项目中创建一个 sub-folder。将字体文件粘贴到此文件夹中。
- 为了简洁起见,我重命名了这个文件
FontAwesome.otf
- 设置此文件的属性:
- 构建操作:资源
- 复制到输出目录:复制如果newer/Copy总是
- 在您的 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 则需要它。
- 如果您没有将文件放在项目中 sub-folder
Fonts
,请重命名或省略这部分路径。
- 检查文件名是否匹配:将 FontAwesome.otf 替换为文件名(或重命名文件本身)。
- 检查内部字体名称。您可以按照接受的答案执行此操作。 (从资源管理器打开 .otf 或 .tff 文件以启动 Windows 字体查看器,复制字体名称)。
- 将 Font Awesome 5 Free Solid 替换为字体名称(# 之后)。
- 不要安装该字体,否则您无法验证您是否正确执行了这些步骤,并且该字体可能无法在未安装该字体的计算机上运行。
我知道这是一个老问题,当时您可能还没有这个选项,所以我想我会为任何偶然发现这个问题的人提供一个更新的方法。我建议您从这里安装 NuGet 包 'FontAwesome5':
或在 Visual Studio 的内置 NuGet 包管理器中搜索 "fontawesome5" window:
Tools > NuGet Package Manager > Manage NuGet Packages for Solution...
-当使用这个精确的搜索词时,它通常是最上面的结果。
然后只需将以下命名空间添加到您的 XAML 文档中:
xmlns:fa5="http://schemas.fontawesome.com/icons/"
然后您应该会发现向项目添加图标相对容易。例如:
<fa5:ImageAwesome Icon="Solid_ExclamationTriangle" Foreground="#FFFF7400"/>
或
<fa5:FontAwesome Icon="Solid_ExclamationTriangle" Foreground="#FFFF7400"/>
这样做的好处是 IntelliSense 会向您显示所有可用图标的列表,让您免去访问网站搜索它们的麻烦。
我是 WPF 新手。我想在文本框和按钮中使用 Font-awesome Icon。但图标未与我的文本框绑定
我在我的应用程序中安装了 Font-awesome 资源。
告诉我如何使用它
谢谢,
我真的需要它请帮助我..
Example
第 1 步:下载 Font-Awesome
工具 -> 库包管理器 -> 包管理器控制台 安装
PM > 安装包 FontAwesome.WPF
第 2 步:添加资源
<Application> xmlns:fa="http://schemas.fontawesome.io/icons/" </Application>
第 3 步:输入 App.xaml
<Application.Resources>
<Style x:Key="FontAwesome">
<Setter Property="TextElement.FontFamily" Value="pack://application:,,,/fonts/#FontAwesome" />
</Style>
</Application.Resources>
第 4 步:在 Demo.xaml
中使用它<TextBlock Style="{StaticResource FontAwesome}"
FontSize="75"
Text="" />
第 5 步:- 输出
首先,下载 Font Awesome,解压缩 ZIP 文件并将 fonts/fontawesome-webfont.ttf
复制到解决方案中的 Fonts 文件夹中。如果尚未将属性中的构建操作设置为资源
接下来,向 App.xaml
中的资源添加样式。不要忘记字体名称前面的 #
并记住使用字体的内部名称,而不是文件名。要检查字体名称,只需双击字体文件,它将在 Windows 字体查看器中打开。字体名称将在顶部。
<Application.resources>
<FontFamily x:Key="FontAwesome">/Fonts/fontawesome-webfont.ttf#FontAwesome</FontFamily>
</Application.resources>
打开 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="" 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>
注意 "tbFontAwesome"
文本块的 "Text"
属性,它是 Heart
的 Unicode
。
您也可以手动从 TextBlock.That 的 FontFamily 属性 中 select FontAwesome 来解决问题。
如果 FontAwesome 不在字体列表中,那么您可能需要像第一个答案建议的那样导入字体文件。
为了扩展已接受的答案,因为它有些过时并且缺少信息,我是这样做的:
- 下载FontAwesome
- 解压缩档案
- 在解压后的文件夹中,在
use-on-desktop
文件夹下,找到你想要的版本。 N.B。 Solid 拥有最多的免费图标;某些图标需要为普通版和精简版付费。- 对我来说,这是
Font Awesome 5 Free-Solid-900.otf
。
- 对我来说,这是
- 按照已接受的答案和大多数教程,首先在名为
Fonts
的 C# 项目中创建一个 sub-folder。将字体文件粘贴到此文件夹中。 - 为了简洁起见,我重命名了这个文件
FontAwesome.otf
- 设置此文件的属性:
- 构建操作:资源
- 复制到输出目录:复制如果newer/Copy总是
- 在您的 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 则需要它。
- 如果您没有将文件放在项目中 sub-folder
Fonts
,请重命名或省略这部分路径。 - 检查文件名是否匹配:将 FontAwesome.otf 替换为文件名(或重命名文件本身)。
- 检查内部字体名称。您可以按照接受的答案执行此操作。 (从资源管理器打开 .otf 或 .tff 文件以启动 Windows 字体查看器,复制字体名称)。
- 将 Font Awesome 5 Free Solid 替换为字体名称(# 之后)。
- 不要安装该字体,否则您无法验证您是否正确执行了这些步骤,并且该字体可能无法在未安装该字体的计算机上运行。
我知道这是一个老问题,当时您可能还没有这个选项,所以我想我会为任何偶然发现这个问题的人提供一个更新的方法。我建议您从这里安装 NuGet 包 'FontAwesome5':
或在 Visual Studio 的内置 NuGet 包管理器中搜索 "fontawesome5" window:
Tools > NuGet Package Manager > Manage NuGet Packages for Solution...
-当使用这个精确的搜索词时,它通常是最上面的结果。
然后只需将以下命名空间添加到您的 XAML 文档中:
xmlns:fa5="http://schemas.fontawesome.com/icons/"
然后您应该会发现向项目添加图标相对容易。例如:
<fa5:ImageAwesome Icon="Solid_ExclamationTriangle" Foreground="#FFFF7400"/>
或
<fa5:FontAwesome Icon="Solid_ExclamationTriangle" Foreground="#FFFF7400"/>
这样做的好处是 IntelliSense 会向您显示所有可用图标的列表,让您免去访问网站搜索它们的麻烦。