C#如何使用ttf文件中的图标
在做CS开发的时候,经常会需要为按钮,或者一些控件添加一些图标。
如果使用image图片的方式,来为控件添加图标,比较麻烦(因为要费劲八力的搜各种图片,想办法下载下来,调整尺寸,甚至还需要PS处理一下)。
其实对于一些通用性的图标需求,完全可以用图标字体库,来解决。
比如微软提供的【Segoe fonts】图标库,下载下来就是一个ttf的文件。里面包含了很多常用的一些图标。
我们在想为控件添加图标的时候,可以很简单的通过修改控件的图标unicode码,来设置控件的图标。
下面以【Segoe fonts】为例,来简单说一下使用的步骤:
- 下载【Segoe fonts】图标库文件
- 解压出图标库压缩包之后,得到下列文件
-
将上图中的【SegMDL2.ttf】文件,复制到项目中
-
然后修改【SegMDL2.ttf】文件的属性,将其“生成操作”改为“资源”
-
然后就可以在项目中使用这个ttf文件中的所有图标了
- 在WPF中,使用ttf图标时,分两种情况:
- 第一种,直接前端XAML代码固定写好图标:
-
<TextBlock FontFamily="pack://application:,,,/WPF_Blog_Test;component/Fonts/SegMDL2.ttf#Segoe MDL2 Assets" FontSize="50" Foreground="Red" Text="" />
后面的Text设定的是图标的unicode编码。其中【】是XAML中,设定图标的前缀,后面的【E702】是图标的unicode编码
-
- 第二种,在后台C#代码中动态调整控件的图标:
-
this.Btn_MaxSize.Text = "\uE922";
此处更改控件的图标的时候,就需要以【\u】为前缀,【\u】代表unicode编码。
-
- 第一种,直接前端XAML代码固定写好图标: