WPF - 8.控件类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF - 8.控件类相关的知识,希望对你有一定的参考价值。
参考技术A摘要
所有控件都继承自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鼠标光标,如沙漏光标、手庄光标、调整尺寸的箭头光标等。
一WPF入门教程——创建WPF项目
WPF入门教程——创建WPF项目
一、简介
WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。
学习WPF的基础知识:
(1)WPF是微软提供的一种用来开发“桌面应用”的技术(框架),这项技术本身和C#没有关系,必须会的是xaml语法。
(2)对XML、HTML、XHTML、ASP.NET之类的“标准通用标记语言”,对于学习是有所帮助的。
(3)有WinForm或ASP.NET经验,主要是对控件事件的处理要有所了解。
(4)具备面向对象的思想:在WPF中,经常要灵活运用各种继承关系、多态、重载等。
(5)DataBinding要有所了解:Binding是WPF的一大亮点。
二、创建WPF项目
创建WPF项目步骤
1.打开Visual Studio 2015 ,选择“菜单—>文件—>新建—>项目”。如下图:
2.在“新建项目”对话框中选择“WPF应用程序”,修改名称为自己项目的名称,然后点击“确定”按钮,便成功创建了一个“WPF应用程序”。新创建的项目所引用的公共类库如下。如下图:(“WPF应用程序”会在“引用”里面自动添加下图中所示的 PresentationCore、PresentationFramework、WindowsBase三大核心程序集)。
3. 项目的生成的文件结构。如下图:
Properties:资源
引用:引用其他类库
App.xmal:程序主体(一个GUI进程需要有一个窗体,App.xmal文件的作用声明了程序的进程,同时指定程序的主窗体),点开app.xaml.cs,它是app.xaml的后台代码。
MainWindow1.xmal分支:默认程序的主窗体。
4.在App.xaml中的“StartupUri”属性可以指定项目运行时的启动窗体。下图中“StartupUri="MainWindow.xaml"”,还可以定义我们需要的系统资源以及引入程序集等。如下图:
xmlns用于在Xaml中声明名称空间的Attribute;冒号的映射名是可选的;引号的字符串确定了哪个类库以及类库哪个名称空间。
5. MainWindow.xaml的设计窗体中我们可以修改Title。还可以设置MainWindow的属性和添加事件。完成了这些设置以后,我们就可以对窗体添加内容了,如下图:
x:Class是当XAML解析器将包含它的标签的解析成C#类的类名。是来自xmlns:x的命名空间。第一行xmlns是默认命名空间。<Window>和<Grid>都来自默认空间。Title是窗体标题,Height是窗体高度,Width是窗体宽度。可以引用CLS的命名空间。
6. 我在这个窗体中添加了一个 Viewbox, ViewBox组件的作用是拉伸或延展位于其中的组件,使之有更好的布局及视觉效果。
以上是关于WPF - 8.控件类的主要内容,如果未能解决你的问题,请参考以下文章