在WPF应用程序中使用Font Awesome图标

Font Awesome 在网站开发中,经常用到。今天介绍如何在WPF应用程序中使用Font Awesome 。

如果是自定义的图标字体,使用方法相同。

下载图标字体

  1. 在官方网站或github上下载资源

    http://fontawesome.io/#modal-download

    https://github.com/FortAwesome/Font-Awesome

  2. 解压下载的文件(我是在github上下载的源码),我们要使用的是其中css和fonts文件夹中的内容

在项目中加入字体

  • 新建WPF应用,并新建存放字体的文件夹;

  • 把下载的fonts文件夹中的fontawesome-webfont.ttf复制到项目中存放字体的文件夹中,并设置其生成操作为Resource(默认即是);

  • 新建资源文件,存放所有图标相关的资源;

  • 加入字体样式;

首先加入字体的资源

<FontFamily x:Key="IconFont">/IconFontSample;component/fonts/fontawesome-webfont.ttf#Fontawesome</FontFamily>

然后加入样式

  <Style x:Key="IconStyle" >
      <Setter Property="TextElement.FontFamily" Value="{StaticResource IconFont}" />
      <Setter Property="Control.OverridesDefaultStyle" Value="True"></Setter>
      <Setter Property="Control.UseLayoutRounding" Value="True"></Setter>
      <Setter Property="Control.SnapsToDevicePixels" Value="True"></Setter>
      <Setter Property="TextBlock.TextAlignment" Value="Center"></Setter>
      <Setter Property="TextBlock.VerticalAlignment" Value="Center"></Setter>
      <Setter Property="TextElement.FontSize" Value="12"></Setter>
  </Style>

处理图标资源名称

现在,我们需要把字体以WPF资源的形式加进来, 我们需要把CSS中

处理成

    <system:String x:Key="icon-glass"></system:String>

处理的办法其实还比多,比如可以写个脚本什么的。 我这里介绍直接使用替换的方法

  • 在VS里打开font-awesome.css文件。(在下载的css文件夹中)
  • 把除下面这种格式的其它CSS样式删掉
    .fa-glass:before {
     content: "\f000";
    }
    
  • 使用<system:String x:Key="替换 .
  • 使用"> 替换:before {
  • 使用&#x 替换content: "\
  • 使用; 替换";
  • 使用</system:String> 替换}
  • 在资源文件中加入 xmlns:system="clr-namespace:System;assembly=mscorlib"

  • 把替换后的内容复制到资源文件中,处理报错的行

如图中,删掉2000和2001行

使用

完成上面的操作后,我们就可以在应用程序中使用了。

  • 在App.xaml文件中,引入资源

    <Application.Resources>
           <ResourceDictionary>
               <ResourceDictionary.MergedDictionaries>
                  <ResourceDictionary Source="/IconFontSample;component/fonts/IconFontDictionary.xaml"></ResourceDictionary>
               </ResourceDictionary.MergedDictionaries>
           </ResourceDictionary>
      </Application.Resources>
    
    
  • 在应用程序中,就可以用使用资源的方式使用了
         <TextBlock Style="{DynamicResource IconStyle}" FontSize="26"
                     Text="{DynamicResource fa-recycle}" Foreground="Brown"></TextBlock>
    

    可以通过设置fontsize和foreground来设置图标的大小和颜色

时间: 2024-11-04 07:38:57

在WPF应用程序中使用Font Awesome图标的相关文章

捕捉WPF应用程序中XAML代码解析异常

原文:捕捉WPF应用程序中XAML代码解析异常 由于WPF应用程序中XAML代码在很多时候是运行时加载处理的.比如DynamicResource,但是在编译或者运行的过程中,编写的XAML代码很可能有错误,此时XAML代码解析器通常会抛出称为XamlParseException的异常.但是抛出的XamlParseException异常提供的信息非常简单,或者是很不准确.此时我们关于通过对变通的方法来获取更多的异常信息: 我们知道,WPF应用程序中的XAML代码是在InitializeCompon

bootstrap4中使用Font Awesome图标

bootstrap4中默认取消了Font Awesome图标的应用,所以如果要使用相关图标就需要我们自己手动添加,具体步骤如下: 1.下载Font Awesome 下载地址 基本图标下载免费版就可以了.下载 free for web` 2.将下载的文件解压到bootstrp4目录中 3.在html页面中添加引用,引用css文件夹中 all.css` <link rel="stylesheet" href="fontawesome-free-5.11.2-web/css/

在Qt中使用Font Awesome图标

做过Web前端开发的一定对Font Awesome不会陌生,Font Awesome号称是为Bootstrap设计的完美图标字体,经常出现在各类网页中,非常流行. 这么好的资源,能不能在Qt应用程序中使用呢?答案是肯定的.而且使用起来非常简单. 1. 先来了解下 Font Awesome 的一些特性: 更多关于Font Awesome可以前往其官网[了解详情]. 2. 下载 Font Awesome(本示例使用的是Font-Awesome-3.2.1版) 解压后得到的文件如下: [font]目录

[mobile angular ui]MAUI中的font awesome图标

MAUI中用font awesome替换了glyphicon,但是FA中都有哪些可用的图标呢,在网上搜了一张font awesome的对照表,使用时记着把其中的icon-xxx替换为fa-xxx就可以了. 此外,在MAUI中,还支持7个级别大小的图标显示,只添加".fa"是基本大小,另外的六种图标尺寸需要添加的类分别为:".fa-lg",".fa-2x",".fa-3x",".fa-4x",".f

转 wince程序 中使用Listview显示图标问题 (C#) .

思路: 1.窗体控件:lstaqgl [Listview控件名称]  imageList1[ImageList控件] 2.  图片路径添加到—imageList1——Listview显示图片从 imageList1获取 代码如下: private void Add(DataTable dtOut) { try { // this.listView1.Items.Clear(); ListViewItem lv1; int i = 0; Bitmap btm = null; //循环读取保存的图片

查看WPF 应用程序XAML结构DOM树

当我们看到一些设计新颖的网站时,可以借助浏览器自带的Inspector 工具或插件方便的浏览网站布局结构及逻辑.如果是WPF 应用程序能否看到控件的架构方式呢?本篇将介绍两款工具Snoop 和WPF Inspector 可用来窥探WPF 应用程序内部结构. (一)Snoop接下来打开WPF应用程序,点击"刷新"按键即可看到Snoop 已经捕获到如下图示. 点击"Snoop"(望远镜)按键,进入Snoop 捕获界面.与IE8 中的Developer Tools 效果相

WPF应用程序开发

WPF应用程序开发 WPF不仅提供了强大的布局功能和窗体渲染功能,在WPF应用程序开发中,还能够实现如Flash一样的动画效果,这就使得在Windows窗体中能够实现Flash动画效果,Microsoft Expression Blend 2提供了动画轴,动画事件处理面板,方便了开发人员在WPF中实现动画效果. 19.3.1  WPF动画事件 WPF可以像Flash一样支持动画开发,与普通的事件不同的是,WPF包括一个动画事件,这个动画事件描述的是当用户执行某个操作时所触发的动画事件.首先需要创

WPF 程序中启动和关闭外部.exe程序

当需要在WPF程序启动时,启动另一外部程序(.exe程序)时,可以按照下面的例子来: C#后台代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; u

在 WPF 程序中使用 MVVM 模式

MVVM 模式是一个很久之前的技术了,最近因为一个项目的原因,需要使用 WPF 技术,所以,重新翻出来从前的一段程序,重温一下当年的技术. MVVM 模式 MVVM 实际上涉及三个部分,Model, View 和 ViewModel ,三者的关系如下图所示. 在三部分的关系中,视图显示的内容和操作完全依赖于 ViewModel. Model 是应用程序的核心,代表着最大.最重要的业务资产,因为它记录了所有复杂的业务实体.它们之间的关系以及它们的功能. Model 之上是 ViewModel.Vi