wpf随笔】的更多相关文章

原文:WPF随笔(九)--使用路径动画模拟管道流体流向 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lordwish/article/details/85007867 WPF的一大特性就的动画系统,使用动画能够实现很多在WinForm很难实现的效果.最近在网上偶然看到大神用WPF动画实现对象沿特定路径正向或反向移动的效果,就想参考着自己试一试. 1.简单路径动画 先来一个最简单的路径动画,一个方块加一条线段,让方块从线段起点移动到线段终点.前…
原文:通通WPF随笔(4)--通通手写输入法(基于Tablet pc实现) 从我在博客园写第一篇博客到现在已经有1年半了,我的第一篇博客写的就是手写识别,当时,客户需求在应用中加入手写输入功能,由于第三方的手写输入法都无法定制界面,所以领导决定自主开发,所以我就很简单地基于Tablet pc写了一个WPF控件,由于几个瓶颈问题,导致这个输入功能只能在我们的UI框架里使用,而无法做到像输入法那样可以输入到任意窗口. 时隔1年半,随着各种项目的磨练,知识的积累几个问题得以解决,于是就产生了这个手写输…
原文:通通WPF随笔(3)--艺术二维码素材生成器 最近公司让我开发一个条形码的生成控件,花了半天时间搞定觉得不过瘾,什么年代了该用二维码了吧.于是wiki了一下二维码的资料. 比较常见的就是QR码(Quick Response)即快速识别码,为了验证“快速”,我特地和条形码做了一次比较:经过我测试条形码的code 128编码方式可以表示数字.字母.和符号,而且长度也可以很长.当我用“我查查”进行识别测试时发现,当长度达到20个字符时就很难识别出来了,速度也比较慢,也许是软件的原因吧.但二维码不…
原文:通通WPF随笔(2)--自己制作轻量级asp.net网站服务 大学玩asp.net时就发现VS在Debug时会起一个web服务,这东西也太神奇了服务起得这么快,而相对于IIS又这么渺小. 前几个月在用phonegap+jqmobi(被inter收购后叫App Framework)做手机应用开发.用dreamweaver CS6的云编译确实挺方便的,但是写代码的话还是比较喜欢VS的代码联想.本地调试时,点击又启动了这个web服务. 再后来要开发一个在WPF嵌入网页的控件,果断用WebBrow…
原文:通通WPF随笔(1)--基于lucene.NET让ComboBox拥有强大的下拉联想功能 我一直很疑惑百度.谷哥搜索框的下拉联想功能是怎么实现的?是不断地查询数据库吗?其实到现在我也不知道,他们是怎么实现这么高效的.后来在博客园无意邂逅了“鹿神”,搜索引擎唉,听起来就很高端.于是研究了一段时间后就产生了这个WPF的下拉联想控件. 名称: 简拼: 全拼: 区号: 邮编: 这么强大的功能代码一定会复杂吧?不是的哦,亲~代码只有短短几句哦 界面如下:(下拉框后面的数字为查询的延时,可见效率还是很…
因项目需要查找wpf.DataGrid的Binding方法, 由于其属于Dev框架体系内,偏向于winform并无Binding 1.且线程外更改UI控件还需要委托或者action,而Wpf控件仅需要binding后,数据源修改界面控件无论是在线程内外均不受影响 2.更改数据源wpf.DataGrid也必须通过静态方法,对实例化后的页面控件进行操作,并且对数据操作前后需要BeginDataUpdate与EndDataUpdate 而WPF则不需要,直接对数据源进行修改即可…
一.前言 在WPF开发过程中,ScrollViewer是一个很常使用到的控件,在自己工作的项目中,收到一个反馈就是当ScrollViewer里面的内容太长时,滚动条的滑块就会变得很小,然后导致点击起来不太友好.一开始想着是通过在样式里面设置滑块的最小值,但都没法生效.最后换了一个思路来,通过把原有的滑块隐藏,然后自己加一个控件来充当滑块来间接控制ScrollViewer的滚动. 二.正文 1.这里就直接拿之前写的那个曲线图控件来进行演示,当曲线图的数据很多时,滑块就会显得很小个,现在实在默认样式…
一.前言 项目中涉及到了心率监测,而且数据量达到了百万级别,通过WPF实现大数据曲线图时,尝试过最基础的Canvas来实现,但是性能堪忧,而且全部画出来也不实际.同时也尝试过找第三方的开源库,但是因为曲线图涉及到很多细节功能,第三方的肯定也没法满足.没办法,只能自己实现,上网查找后发现DrawingVisual这个玩意可以实现高性能画图,同时再搭配局部显示,这样就能实现自己想要的效果.话不多说,今天把大致的实现思路写一下,就不直接把项目的源码贴出来,写个简单的Demo就好了. 二.正文 1.首先…
一.前言 在项目中,经常需要用到消息提醒功能,在以前接触安卓开发那会使用过Toast,于是打算在WPF上也来模仿一个,话不多说,撸起袖子干起来! 二.正文 1.首先新建一个工程,工程的目录如下 2.编写Toast.cs的代码,这里因为只需要显示文本信息,所以Toast继承Label即可,然后添加一个定时关闭的方法 public class Toast : Label { public Toast() { } public void SetTimeClose(TimeSpan time) { ne…
一.前言 该系列博客用于记录本人在WPF开发过程中遇到的各种知识点 二.正文 1.在工作的项目中,软件需要用到在线升级功能,由于第一次弄,在下载服务端的文件到本地时,文件的名称我选择直接生成为固定的格式,被同事发现后差点被笑掉大牙.然后他告诉我有专门的方法用于生成一串唯一的字母数字标识符,System.Guid.NewGuid(),通过这个来生成一个随机的字符串来用于文件名,就可以避免出现文件重名的情况. 2.GUID的应用非常广泛:注册表.类及接口标识.数据库.甚至自动生成的机器名.目录名等.…
内容控件 Padding内边距,Margin外边距 1.ScrollViewer滚动条控件 <ScrollViewer VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Disabled"> LineUp方法上翻一行 LineDown LineRight LineLeft   PageUp 上翻一页 2.GroupBox组合框控件 <GroupBox Heade…
1:善于用“Margin”做动画效果 2:色彩处理通常用:Brush,而Brush(如:SolidColorBrush)的实例化,通常需要载入“ System.Windows.Media.Color”(如:System.Windows.Media.Colors.Blue)…
一.前言 项目中之前涉及到胎儿心率图曲线的绘制,最近项目中还需要添加心电曲线和血样曲线的绘制功能.今天就来分享一下心电曲线的绘制方式: 二.正文 1.胎儿心率曲线的绘制是通过DrawingVisual来实现的,这里的心电曲线我也是采用差不多相同的方式来实现的,只是两者曲线的数据有所区别.心电图的数据服务器端每秒发送至客户端一个数据包,一个数据包钟心电的数据大概一百个左右,看过心电图的应该知道,心电图的效果是匀速绘制出来的,而不是一次性将一百个点绘制出来:项目中是通过将数据存到数据缓冲区,然后通过…
一.唠唠叨叨 软件开发过程中,经常需要使用到获取exe当前目录这个功能,前同事在实现这个需求时使用的是Directory.GetCurrentDirectory()这个方法,但再最近的测试中,突然发现文件没有正常生成在exe所在的目录,找了很久突然发现生成在了自启动exe程序的bat文件所在的目录,因为软件是通过后台软件调用bat文件的形式来自启动.上网查了才发现,这种方式获取的目录是应用程序的当前工作目录,当前目录不同于原始目录,这是从中启动进程的目录.而我自己在获取当前exe目录用的是App…
一.前言 在自己的项目中挺多地方需要涉及到数据验证的,初期的实现方式都是通过点击确定后再逐个验证数据是否符合要求,但这种方式会让后台代码变得很多很乱.于是就开始在网上需求好的解决方式,刚好看到了一个大佬的博客写了关于数据验证的博客,也成功将那个方法用在项目中了,今天就来这里分享一下.博客原文:https://www.cnblogs.com/wzh2010/p/6518834.html 二.正文 1.这里写一个简单的例子来作为参考,首先新建个项目,按照常规MVVM构建好项目,如下图.然后添加需要用…
一.前言 工作中目前经手的项目是医疗相关的监护软件,所以会涉及到一些报警效果的实现,今天在这里就简单分享一下实现方式 二.正文 1.实现的方式比较的简单,就是通过一个Border控件,然后搭配DataTrigger和ColorAnimationUsingKeyFrames即可实现效果,这里直接贴出代码 <Window x:Class="AlarmFlashDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx…
一.前言 今天分享一下如何实现带递增递减按钮的TextBox控件 二.正文 1.之前的博客分享了一篇自定义XamlIcon控件的文章,这次就直接在那个项目的基础上实现今天这个自定义控件 2.首先添加两个图标资源,一个增加的按钮,一个减小的按钮,具体过程可以参考我之前写的文章 3.接着新增一个自定义控件,如图所示那个 4.添加后,项目中还会生成一个Themes文件夹,里面还有一个Generic.xaml的文件,这个文件可以用来写控件样式的,里面会自动生成一个最基础的控件样式,而那个NumberTe…
一.前言 生活中的日志是记录你生活的点点滴滴,让它把你内心的世界表露出来,更好的诠释自己的内心世界.而在开发者眼中的日志是我们排除问题的第一手资料,项目中的程序上线之后,一旦发生异常,第一件事就是先去查看日志是否有捕获到什么异常信息,然后再根据日志去排查问题.所以日志的重要性是非常高的,今天就分享一个简单的本地日记工具类. 二.正文 1.代码比较简单,这里直接贴出日志的代码,该类会在exe所在的目录下生成一个文件夹,然后每天生成一个文本来储存日志信息.这里我只添加了三个简单的方法,有需要的可以自…
一.前言 1.在以前自学的过程中,软件需要使用到图标的时候,总是第一个想法是下载一个图片来充当图标使用,但实际得出来的效果会出现模糊的现象.后来网上学习了字体图标库的用法,可以在阿里云矢量图网站那里将想要的图标添加到项目中,然后打包下载得到ttf图标库,然后将图标当成字体来引用即可,这种方法实现的图标是矢量图,放大缩小都不会影响图标的清晰度. 2.但在使用过程中,如果还想要添加一些新的图标时,就得重新下载字体库文件替换,感觉有点麻烦.在同事那里学到了另一种方法,通过下载svg图标,然后修改为xa…
一.前言 之前分享过一期关于DrawingVisual来绘制高性能曲线的博客,今天再分享一篇通过另一种方式来绘制高性能曲线的方法,也就是通过WriteableBitmap的方式:具体的一些细节这里就不啰嗦了,同样是局部绘制的思想,滚动条拖动到哪里,就只绘制那一部分的曲线,直接贴代码: 二.正文 1.新建一个类,继承FrameworkElement,然后在里面实现一下绘图的逻辑: using System; using System.Collections.Generic; using Syste…
这篇随笔总结dx wpf使用中的各种坑,持续更新~ LookUpEdit里内嵌的DXGrid的名字必须是"PART_GridControl",不能不写.也不能写错.我对比了2个小时,从ViewModel到MergedResources,真没往这个方向想.当然,后来查出LookUpEdit的Document里粗体标出了这句话:Note: the embedded DXGrid name must be set to PART_GridControl.汗!咋就忘了先查一下他们家的文档呢.下…
使用WPF的Popup的时候会发现有一个问题,它总是会置顶,只要Popup的StayOpen不设置为False,它就一直呆在最顶端,挡住其他的窗口. 解决方案是继承Popup重新定义控件PopupEx. public class PopupEx : Popup    {        public static DependencyProperty TopmostProperty = Window.TopmostProperty.AddOwner(typeof(PopupEx ), new Fr…
原文:WPF利用动画实现圆形进度条 这是我的第一篇随笔,最近因为工作需要,开始学习WPF相关技术,自己想实现以下圆形进度条的效果,逛了园子发现基本都是很久以前的文章,实现方式一般都是GDI实现的,想到WPF中动画效果不错,于是自己研究了一下,还真让我做出来了,废话不多说了,先上效果. 这个效果是不是还不错?这里面实现了数字实时显示以及根据进度进行自动渐变的效果.实现原理其实很简单,利用WPF动画,其中主要元素有border(实现里外层圆的效果),Arc扇面(就是用来实现外层填充效果的),Labe…
原文 [WPF疑难]Hide me! not close [WPF疑难]Hide me! not close                               周银辉 有朋友遇到这样的一个问题,在WPF中,当Closing一个窗体时,将e.Cancel=true,然后再调用Hide()方法,以便隐藏窗口而不是关 闭,但报异常了:“当Window Closing时不能设置Visibility,或调用Show(),Close(),Hide()方法”.OK,本随笔将帮你解决该问题. 问题的关…
 闲得蛋疼做了一个WPF制作轮播动画(随机动画),勉强可以看,写个随笔留个脚印.  效果图:…
本次随笔来源于电子书,人家的讲解很好,我就不画蛇添足了. 图形用户界面应用程序较之控制台界面应用程序最大的好处就是界面友好.数据显示直观.CUI程序中数据只能以文本的形式线性显示,GUI程序则允许数据以文本.列表.图形等多种形式立体显示. 用户体验在GUI程序设计中起着举足轻重的作用-----用户界面设计成什么样看上去才足够的漂亮?控件如何安排才简单易用并且少犯错误?这些都是设计师需要考虑的问题.WPF系统不但支持传统的Winfrom编程的用户界面和用户体验设计,更支持使用专门的设计工具Blen…
老衲牺牲午休时间写博客,都快把自己感动了,-_-!! 之前上一篇随笔,我看了下评论,有部分人说WPF已经凉凉了,这个我觉得,这只是一个达到自己目的的工具而已,只要自己能用这个工具,得心应手的做出自己想要的东西就行,关心工具本身凉了没,个人觉得没啥意义:另外,我一个做Java的都没泼凉水,你.Net自己的东西,你们还不满意了,太过分了,haha: 以上,瞎bb一通,轻喷...下面开始正题: 一.简介 上一篇文章,咱们利用Expander+RadioButton实现了左侧菜单栏(或者是导航栏),这一…
1.简介 由于之前做了一个播放器,苦于不懂界面设计,只得去借鉴借鉴一些成功的作品,网易云音乐就甚合朕心,哈哈,最后做出来的效果如下: 本系列文章就来和大家讨论以下,如何用WPF去仿制一个网易云音乐来: 二.容器分析 咱们先不管网易云自己是咋实现的(其实是html实现的),咱们可以通过上图中的分析做出同样效果来就行: 此篇随笔就先到这里,主要就吹吹牛,装装b:下篇开始正题:左侧菜单栏:Expander+RadioButton…
首先上效果图: 这是我的第一篇随笔,最近因为写一个播放器,开始学习WPF相关技术,随着不断入坑,播放器倒是做出来了,掉坑里了... 本着闲着也是闲着的精神,拿360开刀了: 主界面主要使用DMSkin for WPF 的无边框解决方案: 通过提取360自带的素材,绘制自定义控件:如下: 1.导航栏(TabControl-TabItem) <Style x:Key="TopTabItem" TargetType="TabItem" > <Setter…
[-] 闲话WPF之二XAML概述 闲话WPF之五XAML中的类型转换 闲话WPF之十六WPF中的资源 2 闲话WPF之十九WPF中的传递事件 1 闲话WPF之二十WPF中的传递事件 2 闲话WPF之二一WPF中的数据处理 3 闲话WPF之二二WPF中的Style 闲话WPF之二三WPF中的ControlTemplate 1 闲话WPF之二四WPF中的ControlTemplate 2 闲话WPF之二五WPF中的ControlTemplate 3 闲话WPF之二六WPF性能优化点 闲话WPF之一…