c# wpf 单选字体_WPF自定义控件与样式(1)-矢量字体图标(iconfont)
一.图标字体
图标字体在网页开发上运用非常广泛,具体可以网络搜索了解,网页上的运用有很多例子,如Bootstrap。但在C/S程序中使用还不多,字体图标其实就是把矢量图形打包到字体文件里,就像使用一般外置字体一样的使用,因此Winform、WPF中都是可以用的。
在我们多个WPF项目中广泛使用了图标字体,包括自定义控件、自定义样式、模板等。总结下:
网上开源字体图标很多,很容易获取,项目开发中需要的绝大部分图标都可以找到,非常方便,推荐 阿里巴巴开源字体;
字体文件非常小,比使用png等图片文件要小很多;
比使用普通图片资源性能要好很多;
和普通字体一样,是矢量的,可任意放大缩小(设置字体大小)不失真。
唯一的缺点就是颜色的设置有局限,只能用单色,或者使用画刷实现渐变色等效果。不过这一点貌似问题也不大。
二.WPF中如何使用字体图标
2.1 字体文件加入到项目资源
下载字体文件(参考第三节),添加到项目中,并设置生成操作为"Resource",如下图:
2.2 定义样式
定义样式,使用TextBlock作为图标显示的容器,因此定义一个TextBlock的样式即可,如下所示。其中“SK2015” 为字体名称,如3.2中的图示,可以通过“编辑项目”修改字体名称。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2.3 XAML使用示例
使用就很简单了,第一种在XAML中使用,如下图,Text的值可以参考3.2中的demo.html,它是字符的Unicode编码。
效果:
直接使用字符编码可能不好记,web开发中会为每个字体图标定义一个好记的名称,如。他是利用css定义的样式实现的,在WPF中当然也是可以实现的,为每个字体图标单独定义Style即可。只是我觉得没有必要,这样也挺简单的,有网页demo.html可以对照。
2.4 C#代码使用示例
C#代码唯一不一样的,就是对Unicode字符编码的使用不一样,如:
//代码设置字体图标
this.ticon1.Text = "\ue616";
this.ticon2.Text = "\ue615";
效果:
三 .如何下载字体文件
3.1 下载网上的开源字体库
如Font-Awesome(http://fortawesome.github.io/Font-Awesome/),类似的开源字体库有很多,提供的图标比较丰富,但不容易扩展和修改。
3.2 Iconfont-阿里巴巴矢量图标库
提供了大量的字体图标(包括网友共享的),可以选择需要的字体,然后打包到一个字体文件,且可以随意修改字符的编码、字体名称等,真的是一个良心的开源项目。
收集并下载图标字体库,如下图。
下载后,如下图,其中*.ttf就是我们需要的字体文件,其他是网页使用需要的,demo.html可以作为图例参考,demo.html内容同上图类似。
附录:参考引用
系列文章目录
个人能力有限,本文内容仅供学习、探讨,欢迎指正、交流。
c# wpf 单选字体_WPF自定义控件与样式(1)-矢量字体图标(iconfont)相关推荐
- WPF自定义控件与样式(1)-矢量字体图标(iconfont)
原文:WPF自定义控件与样式(1)-矢量字体图标(iconfont) 一.图标字体 图标字体在网页开发上运用非常广泛,具体可以网络搜索了解,网页上的运用有很多例子,如Bootstrap.但在C/S程序 ...
- checkbox wpf 背景图片_WPF的CheckBox样式总结
背景 很多时候我们使用WPF开发界面的时候经常会用到各种空间,很多时候我们需要去自定义控件的样式来替换默认的样式,今天通过两个方法来替换WPF中的CheckBox样式,透过这两个例子我们可以掌握基本的 ...
- css字体 text,css文本样式text、字体样式font
文本样式text 1.文本颜色color 例如h1 {color:red;} 2.文本方向direction,不常用 默认ltr从左到右,rtl表示从右到左 3.文本水平对齐方式text-align ...
- WPF自定义控件与样式(4)-CheckBox/RadioButton自定义样式
原文:WPF自定义控件与样式(4)-CheckBox/RadioButton自定义样式 一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等, ...
- WPF自定义控件与样式(8)-ComboBox与自定义多选控件MultComboBox
一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: 下拉选 ...
- WPF自定义控件与样式(5)-Calendar/DatePicker日期控件自定义样式及扩展
原文:WPF自定义控件与样式(5)-Calendar/DatePicker日期控件自定义样式及扩展 一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐 ...
- css字体的分类及样式
一.分类 在网页中将字体分成五大类: serif(衬线字体) sans-serif(非衬线字体) monospace (等宽字体) cursive (草书字体) ...
- 点阵字体, 矢量字体
点阵字体 http://zh.wikipedia.org/wiki/%E7%82%B9%E9%98%B5%E5%AD%97%E4%BD%93 点阵字体也叫位图字体,其中每个字形都以一组二维像素信息表示 ...
- WindML、FreeType和TrueType三者相结合实现矢量字体的显示
1 VxWorks5.5点阵字库的局限性 VxWorks5.5 是美国风河公司开发的嵌入式操作系统,图形系统采用WindML3.0,支持点阵字显示,不支持矢量字体显示.点阵字采用内存模式加载,使用前需 ...
最新文章
- 下列不是python数据类型的是_Python数据类型方法精心整理,不必死记硬背,看看源码一切都有了...
- spring-boot框架dubbo在controlle中r注解@Reference注入service,但是调用方法时候,service报null空指针异常
- knockout的使用
- 如何区分abcd类地址_IP地址中A类、B类、C类地址的区别
- 它是最神秘的黑客组织:来自战斗民族 专黑美国
- leetcode32 --- longestValidParentheses
- 重磅!华为发布2025年十大趋势
- android支付平台,android移动支付
- DirectShow--A.枚举设备
- JAVA线程池ScheduledExecutorService周期性地执行任务 与单个Thread周期性执行任务的异常处理
- python数值计算库Numpy学习之—np.linalg.norm(求范数)
- 我是怎样给 Delphi 代码着色的 - 回复 sunhj 的问题
- 9、1.4.1 JDK下载与安装
- Android面试心得,已拿到字节跳动,京东,android应用开发基础学堂在线答案
- 计算机主机hdmi接口是什么意思,笔记本电脑HDMI接口是干什么的
- 交换机级联后网速在底层交换机变慢的问题
- jQuery水平手风琴图片轮播切换
- 本周上榜的这9本原创技术书很赞,《数学之美》作者吴军博士新书霸榜
- python读取usb数据显示_在python中从各种usb设备读取和存储各种数据
- 阿里云ACP认证之云服务器ECS知识整理(考题占比 31%)
热门文章
- android录像限制大小,uni-app 拍摄视频限制最大长度解决方案
- 计算机系统的组成刷题,驾考刷题宝典电脑版2021试题
- 如何使用三星智能开关更新您的Galaxy手机
- 兰州市2021高考成绩怎么查询,2021年兰州高考各高中成绩及本科升学率数据排名及分析...
- 菜鸡打卡 算法训练 递归 (含dfs深搜解法)——振兴中华 来自第四届蓝桥杯A组第三题
- 安搭Share:人不是铁打铸成,要懂得适时地休息。
- linux系统获取root权限
- HTML简单网页——传智播客学院设计
- JAVA计算机毕业设计南京新东方学校家校通系统(附源码、数据库)
- 【美化§彩虹心灵xp电脑主题下载§】