摘要:
今天,有位群友问我如何获新浪新闻列表相关问题,我想,用正则表达式网页中取显然既复杂又不一定准确,现在许多大型网站都有RSS集合,所以我就跟他说用RSS应该好办一些。一年前我写过一个RSS阅读器,不过,打新浪相关的XML文件看了一下,发现RSS2.0 和一年前的不大一样了,但具体怎么处理,几句话也很难讲得清楚,所以,我干脆写了一个类库给他,直接调用。类库不是很复杂,主要两个功能:一、通过新浪的根频道XML在把所有频道的信息读出来,使用递归连同子节点也读取出来。二、指定频道URL的XML文件来获取新闻信息。首先,我们写两个类,一个用于保存新闻个息,另一个用于保存频道信息。 /// <summ 阅读全文
摘要:
前面的内容,我们用简单的方法就创建了一个手写板示例,下面,我们再来做一个更为复杂一点的手写板程序。示例程序有两个选项:选择“书写”可以进行手写输入,选择“擦除”,可以去掉不必要的部分,类似橡皮擦的功能。并且,还可以选择笔触颜色。 首先就是放一个InkCanvas控件,相信都没问题,很简单。 <Grid> <Grid.RowDefinitions> <RowDefinition Height="*"/> <RowDefinition Height="auto"/> </Grid.RowDefinitio 阅读全文
摘要:
今天晚上,我为大家准备了一项很好玩的东西,相信大家以前在使用MS Office的也时候也用过手写输入,或者用画图软件,应该对手写感知不陌生了,尤其是手机,很多机子都有触屏手写功能。在以前,要实现手绘功能是很痛苦的,但是,告诉你一个好消息,在WPF里面,你会非常轻松就能实现这功能,信不信由你,反正我信了。来,试试看。 新建一个WPF应用程序,然后在Grid下面加上以下XAML: <Grid> <InkCanvas x:Name="icv" Margin="1"/> </Grid> 好,搞定,马上运行一下。 怎么样,你不敢 阅读全文
摘要:
圣诞节来了,无聊,做点东西纪念一下。 原理很简单,生成1000个圆,从随机数来布置它们的位置,通过动画来处理它们的透明度,动画时长也是随机生成。1、创建图形数组并设置背景透明,渐变笔触,大小等,而后加入到Grid元素的子元素集中;2、创建动画时间线;3、加载完成后播放动画;4、每一轮动画播放完毕后,重新随机生成一下图形的Margin,动画的时间长度也是随机生成。using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Windows;using System.Win 阅读全文
摘要:
在VS中右击项目,添加新项,我们找到.ashx文件在新建项模板中叫做“一般处理程序”,那么这个一般处理程序用来干吗的呢?我们可以这样地简单理解,嗯,不需搞得太复杂,它就类似.aspx文件,用于处理传入到服务器的HTTP请求,但它不会像.aspx文件那样要返回处理结果和大量HTML,它可以返回简单的字符串、图片等。大家知道,HttpHandle需要在Web.Config文件中进行相应的配置,那么,如果不配置呢?能否直接使用?可以的,来,动手玩玩。1、在项目中添加一个.ashx文件,并改写默代码,如下:using System;using System.Web;public class image 阅读全文
摘要:
在Blend中右击ListView控件,从样式和模板相关的菜单项中,我们没找到与列表头有关的项。然后,我们到属性面板中找GridView的ColumnHeaderContainerStyle属性,结果你发现,就算你在高级选项菜单中把它转换为本地资源,你会发现它没有反应,切换到XAML视图也没看到生成的代码。那是不是没办法了呢?这个问题我想了想,是不是只能手写XAML呢? 其实是要手动写一点代码,但可以借助Blend的设计器来使用。 怎么操作呢? 切换到XAML视图,在Window的资源中增加一个样式,类型指向GridViewColumnHeader的样式:<Style TargetTyp 阅读全文
摘要:
如果你使用WinForm比较难实现通过滚动鼠标滑轮来对图片进行缩放显示,那么,你应该考虑一下使用WPF,既然是下一代Windows客户端开发平台,明显是有一定优势的,不然,MS是吃饱了撑着。 首先,我们应该知道WPFUI元素都具备变换功能,不仅支持二维变换,同时也支持三维变换,但3D变换对CPU的处理能力有着一定要求,如果不使用3D,WPF对性能的要求其实并不高,说WPF吃内存更子扯谈,前面我的文章中已经详细讨论过,WPF与传统的面向对象编程模有些不同,WPF属性系统使用依赖项属性,所有属性都会在全局哈希表中进行注册,这也是为什么WPF程序启动速度较慢的原因,但它并不消耗内存,因为依赖项注项后 阅读全文
摘要:
接着上一回的话题,继续来研究数据批示特性,先拿简单的RageAttribute来弄弄,接着上次的示例,添加一个Age属性,并加上RangeAttribute。 [Range(20,60,ErrorMessage="年龄范围在20与60之间。")] [Display(Name="年龄",Description="歌手年龄。")] public int Age { get; set; } 接着把XAML也补完整。 <sdk:Label x:Name="lbAge" Target="{Binding El 阅读全文
摘要:
按照MSDN的说明以及平时的习惯,我们要获取鼠标单击时的相对坐标,都会使用MouseClick等事件,今天,偶然发现,原来Click事件也可以。/* 惊天地泣鬼神的考古业绩。 * 原来Cilck事件也能获取鼠标点击的当前坐标, MSDN上说要用MouseClick事件,哈哈 * 原来Click事件也可以!!! * 但是,如果通过键盘引发事件,而不是通过鼠标操作,即不能获取。 * 鼠标右键单击无效。 */using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;usin. 阅读全文
摘要:
程序是基于WPF开发的,动态创建对象和动画。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging 阅读全文