- 24
- 0
- 约6.12千字
- 约 6页
- 2016-11-08 发布于河南
- 举报
用WPF山寨折线图
用WPF山寨折线图,抄?是狠狠的抄
原文来自:雨枫技术教程网
原文网址:/plus/view-172870-1.html
对于没有美术细胞的我来说,抄袭人家的设计或是创意是再平常不过的事,我承认这很无耻,如果在伟大“天朝”的教育体系下还可能升级为道德上的沦丧,毕竟人家搞个东西也不容易,可任务在身,只好下策,脸皮总是在生存以后才拿上台面的。所以也就不避讳了,俺就是抄的。
该图抄袭自 万仓一黍 的在winform中运用FusionCharts图表(一)
一.抄袭模式
尽管样式要抄袭,可代码不能抄袭,因为没有源码^ – ^ 。首先我们先从使用者的角度出发,作为使用者,我希望怎么来使用控件,而且要考虑到WPF的一些特性。线条可以一个个数组给,和传统的控件一样。可我认为这并不符合WPF的组装特性,每个线条可以是自由控制的,可粗可细,可虚线可实线。
如效果为这样的图:
可以是这样的设计,也就是每个控件自己是一层,和其它控件没有直接联系。就连底面也是可以自由搭配的。
使用还有个就是代码的书写,那么在XAML中单个的控件就可以写成这样
Sample:LineChart LineColor=Orange LineThickness=20 Datas={Binding Items} /如若要实现多个拼接,把控件放到可以层叠的容器当中就可以了,比如Grid.如果你的数据是集合形式的,还可以借助ItemsControl这样的集合控件。
这里可能已经有人看出来抄袭的是WPF装饰器的模式和概念。
二.抄袭图形
初步设想不错,可还不够灵活,假设每个点的样式可以更改而不仅仅是这种默认的白点,如根据喜好可以设置五角星,小红旗,这怎么办?一般情况下我们会为控件再添加个点的模板属性;在这里我又踟蹰了很久,是否真的需要这么的“一步到位”?在几年前,我曾听说装修现在有个观点叫做“轻装修,重装饰”,就是建好一个架子,里面的东西是可以由着喜好、心情、季节随意搭配。所以我更倾向于控件首先能实现一些比较简单的功能,可如果要更高级的功能和效果应该可以附加上的,毕竟有时候一开始也很难知道用户的喜好,加上有时候时间紧迫就只能先留下框架,以后有机会再讨价还价索要时间。
产品功能暂时可以延期,却不能老是跳票,“永远的毁灭公爵”绝不是好榜样。
对每个点进行模板,设置每个点实际的位置,很容易让我们想到使用ItemsControl,做个放置位置的Panel就可以了,当然很明显我们并不需要那么多的功能,只要求每个点都能设置一个模板,那么好吧,依葫芦画瓢来个ItemTemplate、 ItemTemplateSelector、ItemStringFormat属性,只需要在初始化的时候声明个UIElementCollection 变量,在数据存放以后为数据new个性模板就成,如GetContainerForItemOverride()方法。
在这种条件下做个层,可以轻松的看到类似这样的效果,当然音符是我再次发挥抄袭特长的结果,具体的可以看/free-icons.php
对于层来说,还可以有很多的发挥,如下:
对这种应用也可以手到擒来:
不要惊讶,WPF是有API的,使用CombinedGeometry然后用GeometryCombineMode.Exclude就可以了。
因为底色也可以随意混搭,所以加个水印、Logo,背景提示语之类的也不是什么难事。
对于以上的所谓“创意”,当然是抄袭的,参见各大网站统计图。
三.抄袭代码
项目经理有要求图上的所有线条比例要统一,这个要求很合乎常理,可我们的线条都是单独的一个控件,你也许会说让后端计算出一个最大值绑定一下不就OK了,但一般控件都可以达到的效果,凭什么就要让业务干预,毕竟我们分层的原则是UI和业务分离,虽然有时候会有些妥协,但我们也要尽可能的做大完善,水平不就是在这样的“苛责”中进步的么?
感觉不错的抄法
▲名字抄袭
做为前端人员,可能希望只要设置一个属性就可以完成,其实它的目的就是为了功能的附加,感觉有点像ToolTipService吧,那么我们的名字就叫LineChartService。
Sample:LineChart LineColor=Orange Sample:LineChartService.GroupName=group1 LineThickness=2 Datas={Binding Item
您可能关注的文档
- 牛津Unit 3 Phrases.doc
- 牛津深圳版 短语 卡片总会 -汉语部分留白-中考复习必备.doc
- 牛津英语模块九(湖南)语篇训练卷(二) Unit 1.doc
- 牛津版初中英语七年级上预备unit 8 Our things.ppt
- 物理化学英语词汇 -无字版.doc
- 物理图像专题.ppt
- 物质跨膜运输的实.ppt
- 独角仙饲养方法.doc
- 独尾草科.doc
- 物质跨膜运输的实例000.ppt
- 2026年及未来5年内中国液体氩气行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国黄铜合页行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国竹工艺家具行业投资前景及策略咨询研究报告.docx
- 2025年中国微机数显自动分析仪市场调查研究报告.docx
- 2026年及未来5年内中国微尘白色粉笔行业投资前景及策略咨询研究报告.docx
- 2025年中国微电脑型压胶机市场调查研究报告.docx
- 2026年及未来5年内中国数字化等功游泳训练测试系统行业投资前景及策略咨询研究报告.docx
- 2025年中国圆形花瓶市场调查研究报告.docx
- 2026年及未来5年内中国植物纤维静淀过滤器行业投资前景及策略咨询研究报告.docx
- 2025年中国超音波手套机市场调查研究报告.docx
最近下载
- 农村电商(农产品电商)运营全套教学课件.pptx
- 四川省成都市第七中学2025-2026学年高一上学期11月半期考试英语(含答案).pdf
- (最新)ISO31073-2022风险管理术语(译2022-04)(推荐下载).pdf VIP
- (最新)村干部考试试题(含答案).docx VIP
- zippo图册年度机系列整合(更新至C25).docx VIP
- 多轴车铣复合加工运动转换方法:原理、实践与创新.docx
- 商务礼仪商务礼仪培训专用.ppt VIP
- 《铁路劳动安全》第04章预防机动车辆伤害.pptx VIP
- 化工制图第1章 制图基础.ppt VIP
- 化工制图AutoCAD应用基础-03章.pptx VIP
原创力文档

文档评论(0)