博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个简单的WPF字体选择器实现
阅读量:5955 次
发布时间:2019-06-19

本文共 1775 字,大约阅读时间需要 5 分钟。

很久没有写博客了。

这是放暑假中的第一篇博客,以后会多多更新!!!

这就是我写的一个字体选择器,界面如下:

image

 

本程序用到的技术比较简单,仅仅是用了Font类的几个方法和数据绑定而已。

首先建一个四行两列的Grid,添加一个ComboBox,命名为fonts。然后在添加若干个TextBlock和一个TextBox(用于显示字体名称),如上图所示。

 

以下是完整的xaml:

中文预览:
你选择的字体
英文预览:
You Selected Font
字体详细信息:
字体名称:

 

其中用了元素绑定,如  FontFamily="{Binding Path=FontFamily,ElementName=text}">,ElementName代表要绑定的元素名称(Name属性),Path代表要绑定的属性名称。

这里我们用Fonts.SystemFontFamilies集合获取系统内安装的字体,然后使用foreach循环添加字体到名称到ComboBox的Items集合中。

窗口load事件代码:

foreach (FontFamily font in Fonts.SystemFontFamilies){     fonts.Items.Add(font.Source);/* 何问起 hovertree.com */}

 

运行一下,会发现ComboBox中显示出所有字体的名称,但美中不足的是不能在列表中显示出字体的字形,我们可以用自定义控件解决。

建一个WPF控件(取名Items),里面放一个TextBlock控件,命名为text,然后在构造函数中键入以下代码:

public Items(FontFamily font) 

    InitializeComponent(); 
    text.FontFamily = font; 
    text.Text= font.Source; 
   
}

其中增加了一个参数用以接受FontFamily对象,设置TextBlock的内容和FontFamily为传递来的参数。

代码如下:

foreach (FontFamily font in Fonts.SystemFontFamilies)  //遍历字体集合中德字体 {     /* 何问起 hovertree.com */    fonts.Items.Add(new Items(font));//将参数传递到自定义控件 }

 

这样就OK了。

推荐:

转载于:https://www.cnblogs.com/roucheng/p/wpffont.html

你可能感兴趣的文章
molicode生成vue增删改查功能
查看>>
类与类加载器---《深入理解java虚拟机》
查看>>
Magento(CE1.X)自带模块解析一
查看>>
鸟哥Linux私房菜_基础篇(第二版)_第十章学习笔记
查看>>
Hibernate 对c3p0配置不支持导致的错误
查看>>
安装与卸载软件的方法:rpm、yum工具介绍
查看>>
Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
查看>>
netfilter/iptables
查看>>
RHEL4.4安装YUM
查看>>
【几种UML关系】
查看>>
php开发工具 zend studio 12.5.1 中文版汉化
查看>>
Adobe Flash地图控件AnyMap
查看>>
selenium2 webdriver要点理解
查看>>
LAMP兄弟连打造免费视频教程
查看>>
Android 多模块项目入门
查看>>
使用iSCSI搭建IP SAN存储网络
查看>>
Bean的自动装配Autowiring
查看>>
ASP.NET Core 使用 Hangfire 定时任务
查看>>
mongoDB Error:not master and slaveOk=false
查看>>
python的服务
查看>>