随笔分类 -  WPF

WPF下制作的简单瀑布流效果
摘要:最近又在搞点小东西,美化界面的时候发现瀑布流效果比较不错.顺便就搬到了WPF,下面是界面我对WEB前端不熟,JS和CSS怎么实现的,我没去研究过,这里就说下WPF的实现思路,相当简单.1.最重要的就是每个子项的顺序填充,我是把界面看做N列,然后在每列里依次加载子项.最后结果就是,界面放一个Uniform,设置Columns,再添加几个ItemsControl.2.添加Item的时候,判断每个ItemsControl的实际高度,把子项添加到最小的那个ItemsControl,这样避免了某一列拉得很长.3.再做一层封装,就变成了一个支持Binding的WaterfallControl.这里上几段控 阅读全文
posted @ 2013-10-25 11:30 烟灰灰 阅读(4668) 评论(12) 推荐(4) 编辑
WPF制作的小型笔记本-仿有道云笔记
摘要:楼主所在的公司不允许下载外部资源, 不允许私自安装应用程序, 平时记录东西都是用记事本,时间久了很难找到以前记的东西. 平时在家都用有道笔记, 因此就模仿着做了一个, 先看下实际运行图片:1. 初始化的时候2.添加了些笔记3. 添加笔记本窗口4.改了模板,做的一个还算好看的菜单5.日记列表可以选择不同的视图, 比如我改成了简单列表视图6.模仿云笔记做的历史版本功能,只能看,还没做还原和对比功能7.日记可以导出成不同格式,这个东西真心没用8.顶部也有个菜单谈下这个小东西:1. 程序采用WPF+MVVM实现, 修改了大部分控件的Template, 以达到高仿的目的. 同时, 也得感谢有道在安装目录 阅读全文
posted @ 2013-07-24 21:35 烟灰灰 阅读(7085) 评论(42) 推荐(20) 编辑
WPF制作的小时钟
摘要:周末无事, 看到WEB QQ上的小时钟挺可爱的, 于是寻思着用WPF模仿着做一个.先看下WEB QQ的图:打开VS, 开始动工. 建立好项目后, 面对一个空荡荡的页面, 首先想下时钟是怎么构成的. 从图中看到, 时钟被一个黑色的圆环包围, 里面有12个代表小时的刻度线, 等比例的分布在圆环内侧. 中间有个小圆环, 是指针的中心. 3个小指针以圆的中心转动.第一步, 画出外部的圆环:WPF里面只有椭圆, 怎么画出一个圆环形状呢, 其实很简单. 里面放个小圆, 外面放个大圆. 小圆和大圆采用不同的背景, 看起来就是个圆环了.第二步: 画中间的中心圆, 这个没什么好说的, 代码省略.第三步: 画刻度 阅读全文
posted @ 2013-02-02 23:15 烟灰灰 阅读(5869) 评论(6) 推荐(3) 编辑
WPF制作的正则验证工具
摘要:前段时间在家做自己的个人网页, 由于没心思维护, 所以考虑的是用类似爬虫的手段去抓新闻回来, 这样便经常用到正则表达式. 在家里下载了一个正则工具, 挺好用的, 今天在办公室有点无聊, 于是搬出WPF, 自己又做了一个. 先展示一下效果图:1) 可以输入网页地址, 自动从网页下载数据2) 程序内置了部分表达式, 此处是选择内置的"HTML标签"表达式3) 写完一个表达式后, 可以添加到自定义表达式里面, 方面以后再次使用4) 顶部菜单有个帮助按钮, 是些常见的问题. 我直接从以前用的正则工具里直接拷过来的5. 解决方案截图最后说点闲话:1. 这个工具还是完全采用了MVVM模 阅读全文
posted @ 2013-01-31 17:19 烟灰灰 阅读(3387) 评论(18) 推荐(12) 编辑
WPF做的小型音乐播放器-升级版
摘要:上一个版本是利用周日休息时间制作的,考虑不充分,开发时间也短,只完成了加载频道列表和播放歌曲的功能.这几天晚上在家进行了部分加工,首先是完善了部分功能,其次对部分不合理的设计进行了重构(还不知道重构得合理不合理).首先看下部分功能截图:首先是搜索功能完成了部分.点击搜索功能会切换到该频道,并加载歌曲放歌.设计时,就把搜索做成了一个模块,频道是一个模块,播放器是一个模块.选中搜索结果,会由搜索模块发出事件消息.频道模块根据选中的搜索结果构造合适的频道,并发出事件通知播放器.播放器根据当前频道再加载歌曲.这样子设计的好处是,模块只需要关心自己的业务逻辑,方便维护.比如,所有对频道的操作都是在频道模 阅读全文
posted @ 2012-11-01 23:36 烟灰灰 阅读(6330) 评论(41) 推荐(20) 编辑
WPF做的小型音乐播放器
摘要:对WPF越来越爱.今天早上看到一个开源的音乐播放器 豆瓣电台,下载了源码尝试了一下,功能很强大,样式很漂亮(推荐对WPF有兴趣的童鞋也下载来试下,学习的好机会哦).可惜,他是基于事件驱动的,主窗口cs代码有2000多行,逻辑神马的虽然放在逻辑层,各个窗口又有强引用,还时不时的带着绑定,看着实在是累啊.楼猪一直醉心于MVVM模式,于是就想着怎么给改改.此处先郑重声明:我只是尽量用MVVM来实现和原作者相同的效果,界面素材均是直接从豆瓣电台照搬下来的.果断的建个项目,拖prism,建模块,花了一天时间,居然都可以运行听歌了,实在是佩服我的敲代码速度.先看下效果图:左侧一共5个导航按钮,我准备对应到 阅读全文
posted @ 2012-10-28 23:51 烟灰灰 阅读(9176) 评论(34) 推荐(7) 编辑
WPF制作的天气预报小工具
摘要:上次被叫去面试WPF开发,让我重拾了对WPF的兴趣.国庆时候没地方耍,正好在家好好温习了下Prism库,对模块化开发,Region等有了更深的理解.节后上班居然没事做,难道看点花边新闻打发时间么?还是算了吧,太对不起程序员的身份了.楼主在公司上QQ时,总是无法显示正确的地理位置信息,因此加载不了天气预报,路上被淋过几次了,很是不方便呢.然后就考虑自己动手做一个.功能超简单,先上几个图片:附上解决方案目录:说点闲话:1.首先项目实在是太小了,最开始做的时候,本来就想直接拖控件,后来发现个问题.在显示天气数据的时候,可能有10多个文本框需要我去赋值,在后台挨个挨个手写,实在是太累了,而且最怕的就是 阅读全文
posted @ 2012-10-09 17:11 烟灰灰 阅读(6074) 评论(51) 推荐(17) 编辑
WPF做的小型下载工具和一点点吐槽
摘要:1.实现功能: 多文件下载.添加下载路径后开始下载文件,实时显示下载进度和下载速度,还可以显示全局速度.可以断点续传.2.效果截图:3.技术细节:1) C#如何下载文件. 在Syetem.Net命名空间下,有一个WebClient类,可以很轻松的实现下载文件功能.实例化该类后,用DownloadFile方法即可以下载文件.该类有一个DownloadProgressChanged事件,用这个事件就可以完成进度条功能了.该类还有一个CancelAsync方法,可以实现下载中的暂停功能. 我们还可以用更底层点的技术.HttpWebRequest类可以发起一个Http请求,请求成功会访问输出的H... 阅读全文
posted @ 2012-09-22 20:11 烟灰灰 阅读(5171) 评论(22) 推荐(12) 编辑
WPF制作的一个小功能,智能提示(IntelliSense)
摘要:最近WPF项目中遇到一个需求,需要给一个RichTextBox添加智能提示(IntelliSense)功能。分析下具体的需求,在用户键入"@"符号时,应该显示一个弹出框,把所有用户列出。用户可以通过键盘、鼠标等进行选择。用户列表可能数据比较多,那么用户还应该可以输入字符进行筛选。用过各种IDE开发工具的童鞋应该对这样的效果很了解了,具体效果如下输入@符号的效果:筛选的效果:再谈谈具体的开发思路.1.如何制作可以实现列表选择功能的弹出框 方法很多,Popup+ListBox可以完美解决.此处我为了省代码,直接用的ListBox2.如何在键入@符号时,将ListBox显示在@符 阅读全文
posted @ 2012-06-30 11:15 烟灰灰 阅读(3189) 评论(7) 推荐(5) 编辑
WPF开机启动时发生的异常
摘要:纠结很久的一个问题,经过漫长的排查终于得到了解决.详细情景是这样的: 用WPF做了2个程序A和B,其中A是主程序,B是升级程序.A首先运行,在窗口加载前会连接服务器判断是否有新版本,如果有新版本则先下载服务器端的B程序并覆盖掉本地的B,然后再运行B程序.这样的流程是为了实现升级程序的自更新,一直也运行正常,没什么好说的. 问题出现在有些用户将A程序设置成开机启动后,第一次运行总会出现应用程序崩溃,崩溃是出现在B运行的时候.我在本地尝试后也是出现此情况.如果A程序不需要更新,那么是无需运行B的,但是B每次都会运行.幸好点击"调试程序"后,还能用VS进入调试,发现的问题是启动了 阅读全文
posted @ 2012-06-29 15:53 烟灰灰 阅读(1076) 评论(0) 推荐(0) 编辑
WPF DataPager控件
摘要:最近在项目中遇到远程加载数据的问题,由于服务器采用分页方式返回数据,因此客户端也相应的制作了一个分页控件.代码相对简单,算做入门级的源码.效果如图:初步分析,分页功能只需要3个核心变量:PageIndex,PageSize,TotalCount,2个事件:PageChanging,PageChanged,1个方法InitData.PageIndex:记录当前所在页PageSize:记录每页显示的条目数TotalCount:条目总数由TotalCount和PageSize可以得到PageCountPageChanging事件作为分页的预处理事件,修改事件参数PageChangingEventAr 阅读全文
posted @ 2012-06-19 11:26 烟灰灰 阅读(9864) 评论(8) 推荐(4) 编辑