样式分类和绘图

  • 样式分类
  1. 样式:
  1. 属性样式:直接通过UI元素的属性设置的样式

1 类似于在HTML中直接通过HTML元素属性设置的样式

2 适用于复用度不高的一些属性

  1. 内联样式:通过在UI元素中嵌套入Style节点来设置样式

实际上是设置元素的Style属性

若内联样式与属性样式对同一属性进行设置,以属性设置的样式为准

  1. 引用样式:定义在资源字典中的样式

    1 资源字典可在多处定义,因此引用样式也可以在多处定义

引用样式可以分为:

  1. 页面级样式(写在页面上)

            页面级样式定义在页面的资源字典中,作用范围为整个页面

b. 应用程序级样式(写在App.xaml里面)

与页面级样式的定义方式和应用方式相同,差别有两个方面:

A.定义位置不同

B.作用范围不同

2.样式优先级

 

  • 绘图有两种方式:形状绘图和几何绘图
  1. 形状绘图:
  1. 形状(Shape)是一个2D绘图类
  2. 位于System.Window.Shape空间内
  3. 包括最常用的绘图对象
  1. Line直线(2)Rectangle矩形(3)Ellipse椭圆(4)Polygon多边形

(5)Path路径

  1. 图形对象共有属性

(1)Stroke:说明如何绘制图形的轮廓,即所使用的画刷

(2)StrokeThickness:说明图形轮廓的粗细度

(3)Fill:说明如何绘制图形的内部

(4)指定图形的坐标位置和顶点的数据属性,以与设备无关的像素来度量

  1. 直线:

直线是最简单的图形。使用X1、Y1两个属性可以设置它的起点坐标,X2、Y2两个属性则用来设置其终点坐标。控制起点/终点坐标就可以实现平行、交错等效果。

Stroke(笔触)属性的数据类型是Brush(画刷),凡是Brush的派生类均可用于给这个属性

赋值。因为WPF提供了多种渐变色画刷,所以画直线也可以画出渐变效果。同时,Line

的一些属性还帮助我们画出虚线以及控制线段终点的形状。

矩形由笔触(Stroke,即边线)和填充(Fill)构成。Stroke属性的设置与Line一样,Fill属性的数据类型是Brush。Brush是个抽象类,所以我们不可能拿一个Brush类的实例为Fill属性赋值而只能用Brush派生类的实例进行赋值。WPF的绘图系统包含非常丰富的Brush类型,常用的有:

(1)SolidColorBrush:实心画刷。在XAML中可以使用颜色名称字符串(如Red、Blue)

直接赋值。

(2)LinearGradientBrush:线性渐变画刷色彩沿设定的直线方向、按设定的变化点进

行渐变。

(3)RadialGradientBrush:径向渐变画刷。色彩沿半径的方向、按设定的变化点进行渐

变,形成圆形填充。

(4)ImageBrush:使用图片(Image)作为填充内容。

(5)DrawingBrush:使用矢量图(Vector)和位图(Bitmap)作为填充内容。

(6)VisualBrush:WPF中的每个控件都是由FrameworkElement类派生来的,而 FrameworkElement又是由Visual类的方法获得。获得这个可视化的形象后,我们可以用这个形象进行填充,这就是VisualBrush。比如当我想把窗体上的某个控件拖拽到另一个位置,当鼠标松开之前需要在鼠标指针下显示一个控件的“幻影”,这个“幻影”就是用VisualBrush填充出来的一个矩形,并让矩形捕捉鼠标的位置、随鼠标移动。

  1. 椭圆:椭圆也是一种常见的几何图形,它的使用方法与矩形没有什么区别。
  2. 路径

路径(Path)可以说是WPF绘图中最强大的工具,一来是因为它完全可以替代其他几种图形,二来它可以将直线、圆弧、贝斯二曲线等基本元素结合进来,形成更复杂的图形。路径最重要的一个属性是Data,Data的数据类型是Geometry(几何图形),我们正是使用这个属性将一些基本的线段拼接起来、形成复杂的图形。 为Data属性赋值的语法有两种:一种是标签式的标准语法,另一种是专门用户绘制几何图形的“路径标记语法”。本节我们借助标准语法认识各种基本线段,和学习绘制几何图形的路径标记语法。想要使用Path绘制图形,首先要知道几何图形数据是如何组合在Data属性中的。Path的Data属性是Geometry类,但Geometry类是个抽象类,所以我们不可能在XAML中直接使用<Geometry>标签。

我们可以使用的是Geometry的子类。Geometry子类包括

(1)LineGeometry:直线几何图形。 (2)RectangleGeometry:矩形几何图形。

(3)EllipseGeometry:椭圆几何图形。 (4)PathGeometry:路径几何图形。

(5)StreamGeometry:PathGeometry的轻量级替代品,不支持Binding、动画等功能。

(6)CombinedGeometry:由多个基本几何图形联合在一起,形成的单一几何图形。

(7)GeometryGruop:由多个基本几何图形组成在一起,形成的几何图形组。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值