WPF中线性渐变画刷的一个小窍门

最近被项目里面控件的设计搞的死去活来的,大部分的设计都会需要使用进度条的功能,因为UI形状的变态,使用ProgressBar不能满足需求,没办法就自己想办法实现进度显示。折腾的多了发现一个很不错的方法来实现进度显示的问题。不需要进行复杂的计算,具体就是借用线性渐变画刷。

线性渐变画刷在使用的时候设置里面的Offset的时候,你会发现它用的是相对值,也就是0-1。换句话说,不管你的填充到底多长,反正就是通过百分比来显示你的高度,只要你将代码写成这个模样

然后你会看到效果是这个模样的:

已经成功了一半了。

可是你会发现Offset越小,里面的神色块越高,这尼玛不是反了么?我开始是通过1-Offset来实现的反转,可是后来动了动脑子,发现完全不需要这么做,我们只要稍微灵活一点,把代码写成这个样子:

效果如下:

哈哈哈,效果已经达到了,不知道你们发现了没有,我是将StartPoint和EndPoint的值对调了一下,同时将两个GradientStop的位置也对调了一下,就达到了这种效果。这只是一个小窍门,分享一下,欢迎拍砖=。=

时间: 2024-10-09 05:06:27

WPF中线性渐变画刷的一个小窍门的相关文章

GDI+学习笔记(六)渐变画刷

画刷,顾名思义,就是像画刷一样,向设备上绘制,还记得小时候常唱的首歌,"我是一个粉刷匠.." 好吧,跑题了. 本系列博客希望尽可能简单的描述每项功能,而不希望把每个参数都介绍的详详细细,如果需要,请查阅msdn,本节讲述的渐变画刷,主要有两种,一种是叫线性画刷(LinearGradientBrush),还有一种叫路径画刷(PathGradientBrush),我希望以一种尽可能简单的方式去描述它,但能力有限,所以有什么意见,希望各位能帮忙提出,谢谢. (一)使用画刷 上一节中,我们实际

WPF样式之画刷结合样式

第一种画刷,渐变画刷GradientBrush (拿线性渐变画刷LinearGradientBrush(其实它涵盖在GradientBrush画刷内.现在拿他来说事.),还有一个圆心渐变画刷RadialgradientBrush,两者用法相同): 我想象中的button的总体样式大体结构应该如下: <Style TargetType="Button"> <Setter Property="Template"> <Setter.Value

WPF使用Path画圆的一个示例代码

原文:WPF使用Path画圆的一个示例代码 <Path Fill="red" Data="M 0,0 A 20,20 45 1 1 0,1 Z"/> 1. Fill是指Path的填充颜色 2. Data是Path的路径, M 0,0  --画笔移到0,0处: A 20,20 --画半径为20的圆弧: 45 1 1 --- 45为转角角度,1:是否有大小弧,画椭圆时才有用:1:顺时针 0,1 --- 终点 Z --- 闭合 原文地址:https://www

Direct2D 第4篇 渐变画刷

原文:Direct2D 第4篇 渐变画刷 #include <windows.h> #include <d2d1.h> #include <d2d1helper.h> #include <dwrite.h> #pragma comment(lib, "dwrite.lib") #pragma comment(lib, "d2d1.lib") HINSTANCE g_hinst; HWND g_hwnd; ID2D1Fa

多人协作时编辑word文档的一个小窍门

多人协作时编辑word文档的一个小窍门 最近在工作中编写标书时由于不同内容分给了各个部门去制作,但是在汇总后遇到再次修改的问题.对方把修改后的部分文档发给我粘贴到标书中后,所有的格式全部都乱了.重新整理格式.标题,每次导入新的文档都重复这个工作,真是低效啊.事后想想word这么高级的文档编辑工具,肯定会有解决办法吧? 解决办法一 文档合并 将每个章节划分为多个文档,文档名称命名为章节编号,然后: 我们需要新建一个word文档并对这个文档的页面进行设置,使之与要合并的其他文档的页面设置保持一致,或

一个小窍门,将list 中的 字符串合并在一起。

list=[ 'He is','a',' boy!'] str1=''.join(list) print(str1)

WPF 10天修炼 第八天 - 形状、画刷和变换

图形 在WPF中使用绘图最简单的就是使用Shape类.Shape类继承自FrameworkElement,是一个专门用来绘图的类.Shape类中年派生的类有直线.矩形.多边形和圆形等. System.Windows.Shapes.Shape类是一个抽象类,从该类又派生出多个不同的子类,如下图: Shape类的通用属性 属性名称 描述 Fill 绘制填充的画刷 Stroke 绘制边框的画刷 StrokeThickness 与设备无关的边框宽度 StrokeStartLineCap和StrokeEn

WPF设计の画刷(Brush)

原文:WPF设计の画刷(Brush) 一.什么是画刷 画刷是是一种渲染方式,用于填充图形形状,如矩形.椭圆.扇形.多边形和封闭路径.在GDI+中,画刷分为以下几种:SolidBrush,TextureBrush,HatchBrush,LinearGradientBrush和PathGradientBrush.在层次关系上,它们都位于System.Drawing空间下,继承自System.Drawing.Brush类. 画刷主要分为三大类: 1.SolidBrush(实心画刷)我们最常用 实心画刷

深入WPF中的图像画刷(ImageBrush)之1——ImageBrush使用举例

原文:深入WPF中的图像画刷(ImageBrush)之1--ImageBrush使用举例 昨天我在<简述WPF中的画刷(Brush)??>中简要介绍了WPF中的画刷的使用.现在接着深入研究一下其中的ImageBrush. 如上文所述,ImageBrush是一种TileBrush,它使用ImageSource属性来定义图像作为画刷的绘制内容.你可以控制图像的缩放.对齐.铺设方式.ImageBrush可用于绘制形状.控件,文本等. 下面看看它的一些简单应用:首先看一下效果图片:先看看上图的左边部分