WPF - 8.控件类
摘要
所有控件都继承自System.Windows.Control类,该类添加了一小部分基本的基础结构:
正文
背景画刷和前景画刷
在WPF中,背景和前景分别使用Background和Foreground属性设置这两个区域(但非内容)的颜色。 这些属性使用的是更强大的对象:Brush对象。该对象为填充背景和前景内容提供了灵活性,可使用单一颜色(用SolidColorBrush画刷)或更特殊的颜色(如使用LinearGraidientBrush或TileBrush画刷)填充背景和前景。
控件包括两个属性Background和Foreground属性,这两个属性使用Brush对象。刷子对象的派生类包括SolidColorBrush、LinearGradientBrush、和TileBrush类。
字体
调用字体或大小
试图使用Technical Italic字体,但如果该字体不存在,就使用Arial或Corbel字体:
字体粗细FontWeight
文本装饰和排版 TextDecorations
字体样式(斜体) FontStyle
遍历一下系统的所有字体
字体嵌入
处理不常见字体的另一种选择是在应用成功需中嵌入字体。通过嵌入字体,应用程序就永远不会出现找不到所需字体这一问题。嵌入过程非常简单。首先向应用程序添加字体文件(通常是具有.ttf扩展名得文件),并将Build Action选项设置为Resource(为设置该属性,可在Visual Studio的Solution Explorer中选择字体文件,并在Properties窗口中改变它的Build Action属性)。
TextFormattingMode
Ideal —— WPF4之前的模式
·Display —— 新的模式,可以使字体显示更清晰
一般将TextFormattingMode设置为Display,可以提高字体显示的清晰度
TextFormattingMode属性仅仅是针对小尺寸文本的解决方案,记住这一点很重要。如果为更大的文本(超过15点的文本)使用该属性,文本将不会同样清晰,间隔将不会同样均衡,并且字体将不会被同样准确呈现。而且如果结合旋转、缩放和改变外观的变换使用文本,应当总是使用WPF的标准文本显示模式。因为针对显示文本的GDI风格的优化是在所有变换之前应用的。一旦应用变换,结果将不再对齐到像素边界,文本的显示将变得模糊不清。
鼠标光标
鼠标光标的常见做用是显示目前程序的运行状态,经过控件的Cursor属性来设置鼠标光标的形态。
对于任何应用程序而言,一个常见任务是调整鼠标光标以指示当应用程序正处于繁忙状态或指示不同控件的工作方式。可为任何元素使用Cursor属性以设备鼠标指针,该属性继承自FrameworkElement类。
可以通过System.Windwos.Input.Cursor对象来表示每个光标。获取Cursor对象的最简易方法是使用Cursors类的静态属性,它们包含了所有标准的Windows鼠标光标,如沙漏光标、手庄光标、调整尺寸的箭头光标等。