WPF中使用第三方字体选择器
起因
到WPF的字体可以设置的东西变得非常的多,而却没有提供专用的字体选择对话框,甚至于WinFrom的FontDialog也是不能直接用来设置WPF中的字体.解决方法是使用第 三方的字体选择器
第三方字体选择器
我在这里介绍两个字体选择器,各有优缺点.
第一个下载地址:http://ovpwp.wordpress.com/2009/05/04/wpf-choose-font-dialog/
下载得到的源码可以把它的ChooseFontDialog项目的输出类型改成类库,并删除App.xaml文件.编译生成ChooseFontDialog.dll
使用方法
在需要使用字体选择器的地方加入ChooseFontDialog.dll的引用,在开头加入using ChooseFontDialog;
具体的使用方案可以参考下面的代码片段
ChooseFont dlg = new ChooseFont(sampleText);
if (dlg.ShowDialog() == true)
{
dlg.ApplyTo(sampleText);
}
它的问题在于,对于中文字体的字体名显示的是英文.
优点在于可以设置颜色,而且启动速度较快
第二个下载地址:http://blogs.msdn.com/b/text/archive/2006/11/01/sample-font-chooser.aspx
使用方法类似,把项目的输出改成类库,删除App.xaml和MainWindow.xaml,生成FontDialogSample.dll.
使用的时候加入引用FontDialogSample.dll,童谣需要加入using FontDialogSample;
以下为使用实例
FontChooser fontChooser = new FontChooser();
fontChooser.Owner = this; fontChooser.SetPropertiesFromObject(textBox);
fontChooser.PreviewSampleText = textBox.SelectedText; if (fontChooser.ShowDialog().Value)
{
fontChooser.ApplyPropertiesToObject(textBox);
}
它的优点就是全面
缺点是第一次调用的时候非常慢,之后再调用会好一些.而且对话框也太大了.
其他问题
这里解决了可以自定义字体的问题.但是我还不清楚要怎么有效的把字体信息写入到我的配置文件里面去. 可能要使用序列化的方法,但是似乎要序列化一整个选择器又显得不是很好.不知道有什么比较好的方案.
DLL下载
最后我提供我在32为系统下用VS2010编译的两个DLL文件
WPF中使用第三方字体选择器的更多相关文章
- WPF中取得系统字体列表
原文:WPF中取得系统字体列表 在GDI+中,我们可以通过如下方式取得系统所有字体: foreach(FontFamily f in FontFamily.Families){ // 处理代码} ...
- vue中引入第三方字体图标库iconfont,及iconfont引入彩色图标
iconfont字体图标使用就不多说了,大致是几部: 1.在iconfont官网选图标,加入购物车,加入项目,下载到本地,解压 2.在项目assets目录新建目录iconfont,用于存放刚才下载解压 ...
- [iOS开发] 使用第三方字体不生效
iOS中使用第三方字体并不复杂,通常只需要如下三个步骤: 1. 将第三方字体文件添加到工程(Project)中: 2. 在info.plist中添加一个新的键"Fonts provided ...
- 在android项目中使用FontAwesome字体
在android项目中使用FontAweSome图标集,可以方便的适配各种屏幕分辨率,不必在各种不同分辨率文件夹中新建资源文件.使用字体是一种很巧妙的方法,把图像以字体的方式呈现,这样以前设置为and ...
- 一个简单的WPF字体选择器实现
很久没有写博客了. 这是放暑假中的第一篇博客,以后会多多更新!!! 这就是我写的一个字体选择器,界面如下: 本程序用到的技术比较简单,仅仅是用了Font类的几个方法和数据绑定而已. 首先建一个四行两列 ...
- 2.关于QT中的Dialog(模态窗口),文件选择器,颜色选择器,字体选择器,消息提示窗口
1 新建一个空项目 A 编写 .pro文件 QT += gui widgets HEADERS += \ MyDialog.h SOURCES += \ MyDialog.cpp B 编写MyD ...
- WPF使用第三方字体(TTF字体)
1.下载第三方字体文件,将以TTF结尾的文件复制到项目中 2.在App.xaml中或者你需要的地方添加资源的定义 <Application.Resources> <FontFamil ...
- WPF中应用字体图标
一.什么是字体图标 我们在进行GDI(图形界面)编程的过程中图标是不可少的.近些年随着网络的繁荣和移动应用的繁荣,矢量图的应用越来越火. 矢量图是一种用数学方法描述的.由一系列点和线组成的图,因此相比 ...
- 在WPF中使用FontAwesome图标字体
原文:在WPF中使用FontAwesome图标字体 版权声明:原创内容转载必须注明出处,否则追究相关责任. https://blog.csdn.net/qq_36663276/article/deta ...
随机推荐
- 第二次Surm冲刺
一.小组完成情况: 因为技术原因,小组部分代码还没有完成,现在已经可以实现简单的借书与还书操作. 二.个人情况 我对代码进行了测试,与大家进相关的讨论. 三.总结 这次实验的团队合作真的很重要,有许多 ...
- 为什么有的系统的事务码BSP_WD_CMPWB看不见Enhance Component这个按钮
我的同事问我,为什么有的系统看不到下图7的按钮? 对比两张图里工具栏的差异. 答案 这是因为在图2(看不见Enhance Component按钮)的系统里,该系统的类型被设置为"SAP&qu ...
- 从产品展示页面谈谈Hybris系列之二: DTO, Converter和Populator
文章作者:张健(Zhang Jonathan) 上一篇文章 从产品展示页面谈谈Hybris的特有概念和设计结构 我们讲解了Hybris一些特有的概念以及大体架构,并且介绍了Facade层里是如何定义D ...
- 浏览器下出现net::ERR_BLOCKED_BY_CLIENT的解决办法
转发网址:https://www.cnblogs.com/wenzheshen/p/7724065.html 当我们在做开发时,调试页面图片会出现部分图片无法正常显示,并且确认图片的地址正确: 按F1 ...
- 【洛谷2290】[HNOI2004] 树的计数(Python+利用prufer序列结论求解)
点此看题面 大致题意: 给定每个点的度数,让你求有多少种符合条件的无根树. \(prufer\)序列 这显然是一道利用\(prufer\)序列求解的裸题. 考虑到由\(prufer\)序列得到的结论: ...
- Spring多个版本源码地址分享
源码地址为:http://repo.spring.io/simple/libs-release-local/org/springframework/spring/,以供研究源码的朋友. 我看了好几本关 ...
- 【P2447 [SDOI2010]外星千足虫】 题解
题目链接:https://www.luogu.org/problemnew/show/P2447 dalao们都说简单...解异或方程组 可我不是dalao qwq #include <algo ...
- c语言描述的链队列的基本操作
#include<stdio.h> #include<stdlib.h> #define ok 0 #define error 1 //链队列特点在于不仅有链的头指针和尾指针, ...
- spring(二)-反射、动态代理
主要是对上一篇文章中涉及到的点做补充,欢迎指正! 1. java反射知识-Spring IOC 依赖注入 Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类:在运行时构造任意一个 ...
- CALayer创建图层(转)
一.添加一个图层 添加图层的步骤: 1.创建layer 2.设置layer的属性(设置了颜色,bounds才能显示出来) 3.将layer添加到界面上(控制器view的layer上) @int ...