摘要: 这几天忙着一些小事,也没有写什么了,今天,我们来玩一个比较简单的东东。就是在MVC下如何返回图片,相信,在传统WebForm下,大家都晓得怎么弄,方也不限于一种,但是,在架构较为严格的MVC里面,刚开始接触的朋友,可能不太清楚如何实现。首先,我们应当从控制器入手,昨天有位朋友问我,控制器一般不都是return View的吗?那怎么返回图片? 当然,Controller类也没有return Image 的,上次我们的例子是返回JSON,其实我们可以让其返回一个文件流,一开始我也想过使用ViewData,但这个在视图页面上只能通过服务器端代码来操作,如果希望用JS,就不那么好办了。Controll 阅读全文
posted @ 2012-01-07 09:28 东邪独孤 阅读(571) 评论(0) 推荐(0)
摘要: 我为啥称之为“动态数据模板”?先看看下面的截图,今天,我们就是要实现这种功能。大概是这样的,我们定义的DataTemplate是通过触发器动态应用到 ComboBoxItem 上。这个下拉列表控件绑定了一个Person集合,Person类的定义如下: public class Person { public string Name { get; set; } public int Age { get; set; } public string Email { get; set; } public override string... 阅读全文
posted @ 2012-01-03 08:41 东邪独孤 阅读(299) 评论(0) 推荐(0)
摘要: 声明:本教程是误人子弟的,如果你想成为高手,那千万不要往下读。在ASP.NET 的WebForm中,你可能发现实现AJAX很简单,因为.NET类库都为你准备好了UpdatePanel控件,用该控件来实现AJAX就等于一行代码都不用写。然而,在MVC里面,几乎所有的服务器控件都失效了,那怎么办呢?用传统的JS代码的话又会很复杂,呵呵,放心,别忘了,当下jQuery是很流行的,做WEB开发自然是少不了JQ,虽然严格上说,它是提供给前台的网页设计人员使用的,但对于AJAX,我们不妨也用上它。今天,我们一起来做一个简单的玩意儿,通过JQ来实现在MVC框架下的AJAX功能吧。1、新建一个ASP.NET 阅读全文
posted @ 2012-01-02 11:01 东邪独孤 阅读(296) 评论(0) 推荐(0)
摘要: 今天,有位群友问我如何获新浪新闻列表相关问题,我想,用正则表达式网页中取显然既复杂又不一定准确,现在许多大型网站都有RSS集合,所以我就跟他说用RSS应该好办一些。一年前我写过一个RSS阅读器,不过,打新浪相关的XML文件看了一下,发现RSS2.0 和一年前的不大一样了,但具体怎么处理,几句话也很难讲得清楚,所以,我干脆写了一个类库给他,直接调用。类库不是很复杂,主要两个功能:一、通过新浪的根频道XML在把所有频道的信息读出来,使用递归连同子节点也读取出来。二、指定频道URL的XML文件来获取新闻信息。首先,我们写两个类,一个用于保存新闻个息,另一个用于保存频道信息。 /// <summ 阅读全文
posted @ 2011-12-30 16:55 东邪独孤 阅读(334) 评论(0) 推荐(0)
摘要: 前面的内容,我们用简单的方法就创建了一个手写板示例,下面,我们再来做一个更为复杂一点的手写板程序。示例程序有两个选项:选择“书写”可以进行手写输入,选择“擦除”,可以去掉不必要的部分,类似橡皮擦的功能。并且,还可以选择笔触颜色。 首先就是放一个InkCanvas控件,相信都没问题,很简单。 <Grid> <Grid.RowDefinitions> <RowDefinition Height="*"/> <RowDefinition Height="auto"/> </Grid.RowDefinitio 阅读全文
posted @ 2011-12-26 21:42 东邪独孤 阅读(454) 评论(0) 推荐(0)
摘要: 今天晚上,我为大家准备了一项很好玩的东西,相信大家以前在使用MS Office的也时候也用过手写输入,或者用画图软件,应该对手写感知不陌生了,尤其是手机,很多机子都有触屏手写功能。在以前,要实现手绘功能是很痛苦的,但是,告诉你一个好消息,在WPF里面,你会非常轻松就能实现这功能,信不信由你,反正我信了。来,试试看。 新建一个WPF应用程序,然后在Grid下面加上以下XAML: <Grid> <InkCanvas x:Name="icv" Margin="1"/> </Grid> 好,搞定,马上运行一下。 怎么样,你不敢 阅读全文
posted @ 2011-12-26 21:36 东邪独孤 阅读(367) 评论(0) 推荐(0)
摘要: 圣诞节来了,无聊,做点东西纪念一下。 原理很简单,生成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 阅读全文
posted @ 2011-12-25 20:05 东邪独孤 阅读(265) 评论(0) 推荐(0)
摘要: 在VS中右击项目,添加新项,我们找到.ashx文件在新建项模板中叫做“一般处理程序”,那么这个一般处理程序用来干吗的呢?我们可以这样地简单理解,嗯,不需搞得太复杂,它就类似.aspx文件,用于处理传入到服务器的HTTP请求,但它不会像.aspx文件那样要返回处理结果和大量HTML,它可以返回简单的字符串、图片等。大家知道,HttpHandle需要在Web.Config文件中进行相应的配置,那么,如果不配置呢?能否直接使用?可以的,来,动手玩玩。1、在项目中添加一个.ashx文件,并改写默代码,如下:using System;using System.Web;public class image 阅读全文
posted @ 2011-12-23 09:06 东邪独孤 阅读(278) 评论(0) 推荐(0)
摘要: 在Blend中右击ListView控件,从样式和模板相关的菜单项中,我们没找到与列表头有关的项。然后,我们到属性面板中找GridView的ColumnHeaderContainerStyle属性,结果你发现,就算你在高级选项菜单中把它转换为本地资源,你会发现它没有反应,切换到XAML视图也没看到生成的代码。那是不是没办法了呢?这个问题我想了想,是不是只能手写XAML呢? 其实是要手动写一点代码,但可以借助Blend的设计器来使用。 怎么操作呢? 切换到XAML视图,在Window的资源中增加一个样式,类型指向GridViewColumnHeader的样式:<Style TargetTyp 阅读全文
posted @ 2011-12-21 08:06 东邪独孤 阅读(598) 评论(0) 推荐(0)
摘要: 如果你使用WinForm比较难实现通过滚动鼠标滑轮来对图片进行缩放显示,那么,你应该考虑一下使用WPF,既然是下一代Windows客户端开发平台,明显是有一定优势的,不然,MS是吃饱了撑着。 首先,我们应该知道WPFUI元素都具备变换功能,不仅支持二维变换,同时也支持三维变换,但3D变换对CPU的处理能力有着一定要求,如果不使用3D,WPF对性能的要求其实并不高,说WPF吃内存更子扯谈,前面我的文章中已经详细讨论过,WPF与传统的面向对象编程模有些不同,WPF属性系统使用依赖项属性,所有属性都会在全局哈希表中进行注册,这也是为什么WPF程序启动速度较慢的原因,但它并不消耗内存,因为依赖项注项后 阅读全文
posted @ 2011-12-15 21:26 东邪独孤 阅读(654) 评论(0) 推荐(0)