摘要: http://www.cnblogs.com/xuwenfeng/articles/2144300.html 阅读全文
posted @ 2012-03-29 17:25 火腿骑士 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 在WPF中有三大模板ControlTemplate,ItemsPanelTemplate,DataTemplate.其中ControlTemplate和ItemsPanelTemplate是控件模板,DataTemplate是数据模板,他们都派生自FrameworkTemplate抽象类。1、ControlTemplateControlTemplate:控件模板主要有两个重要属性:VisualTree内容属性和Triggers触发器。所谓VisualTree(视觉树),就是呈现我们所画的控件。Triggers可以对我们的视觉树上的元素进行一些变化。一般用于单内容控件。画一个按钮模板来举例说明: 阅读全文
posted @ 2012-03-29 17:21 火腿骑士 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 在WPF中枚举绑定到ItemsSource。一、通过ObjectDataProvider 获取Enum数据源首先我们定义一个Enum类: public enum TableSelectedType { SelectedOne, SelectedTwo, SelectedThird }接着在Xaml中的Resource里定义数据源。<UserControl.Resources> <ObjectDataProvider x:Key="odp" MethodName="GetNames" ObjectType="{x:Type... 阅读全文
posted @ 2012-03-29 17:19 火腿骑士 阅读(220) 评论(0) 推荐(0) 编辑
摘要: WPF数据绑定号称是:数据变化会通过界面更新数据,这对新手而言,绝对是个误区,在我听说这句话的时候,我真是高兴,用了以后才发现其实没有那么美。要实现前面号称的特性,需要三个条件:1、进行绑定,2、绑定的来源要实现INotifyPropertyChanged接口,意思是,源改变了要去通知目标。3、目标要是依赖属性。下面简单贴个例子。XAML文件:1234567891011<Window x:Class="InotifyChangedTest.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml 阅读全文
posted @ 2012-03-29 16:50 火腿骑士 阅读(395) 评论(0) 推荐(0) 编辑
摘要: WPF提供了很重要的一个东西就是绑定Binding, 它帮助我们做了很多事情,这个我们在WPF学习之绑定这篇里边有讲过。对于Binding我们可以设置其绑定对象,关系,并通过某种规则去验证输入,或者转换值等等,这一切的背后是省去了很多我们需要自己去处理的代码。而对于WPF最主要表现的东西—渲染UI,当然是我们必须去了解和把握的了。美工设计了很多效果,并把其设计成样式展现(很大程度上我们应该认为Style也是一种资源),而作为程序员的我们不应该只是简单的拿来这些拼凑的效果,根据程序的逻辑和用户的操作来动态的展现效果才是我们能发挥它对界面渲染的更好途径。Trigger就给我们提供了很好的途径去结. 阅读全文
posted @ 2012-03-29 16:39 火腿骑士 阅读(231) 评论(0) 推荐(0) 编辑
摘要: public class MyData : ObservableCollection<string>{ public MyData() { Add("Item 1"); Add("Item 2"); Add("Item 3"); }}The following example binds the ItemsSource object of an ItemsControl to MyData.XAMLCopy<!--Create an instance of MyData as a resource.-->< 阅读全文
posted @ 2012-03-29 16:29 火腿骑士 阅读(298) 评论(0) 推荐(0) 编辑
摘要: WPF中的数据绑定提供了很强大的功能。与普通的WinForm程序相比,其绑定功能为我们提供了很多便利,例如Binding对象的自动通知/刷新,Converter,Validation Rules,Two Way Binding等功能,省去了很多维护的繁琐工作。另外对于WPF中提供的数据模板功能,让我们可以轻松定制可以被复用的控制呈现的模块—但这是以数据绑定为前提来做到轻松易用的效果的。数据提供者例如XmlDataProvider和ObjectDataProvider更是简化了将对象以特定方式绑定并呈现的过程。可以说,数据绑定是WPF中让我们真正能够开始体现其便利性的特征之一,而对以数据驱动的. 阅读全文
posted @ 2012-03-29 16:04 火腿骑士 阅读(248) 评论(0) 推荐(0) 编辑
摘要: WPF感悟(2)——XAML与C#的语法不对称XAML的语法与C#的语法并不是完全对称的,最明显的就是在设置Binding的时候。XAML:<ListBox Name="listBox1" ItemsSource="{Binding ...}" .../>如何看待ItemsSource="{Binding ...}这个attribute?如果认为是listBox1.ItemsSource = new Binding(...);,那就错了——数据类型都不匹配。实际上,这句XAML对应的C#应该是:listBox1.SetBinding 阅读全文
posted @ 2012-03-29 15:51 火腿骑士 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 深入浅出WPF(9)——数据的绿色通道,Binding(下) 小序:看着自己上一篇技术文章,屈指算来,已经月余没有动笔了——实在是不像话。最近一来是忙工作,二来是兴趣点放在了设计模式上,而且尝试着把设计模式也“深入浅出”了一把,当然啦,因为对于design pattern我也是初学,在没有经过大家检验之前我是不敢拿到blog里丢人现眼滴~~~现在项目组里由喵喵同学、美女燕、大马同学和小马同学一同push一个“设计模式沙龙”,大家一起学习和讨论这些模式和如何应用在我们的项目里做重构。等活动结束后,我心里有底了,就把文章放上来:) N久不动笔了……上回写到哪儿了?呃~~~咱们继续吧! 正文如果用. 阅读全文
posted @ 2012-03-29 15:49 火腿骑士 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 今天写小东西的时候要用到PasswordBox控件。在实例名后面点个了点之后,发现没有Text这个属性(有Password属性)在网上搜索了一下,发现有三种使用PasswordBox的方法.使用其Password属性值(这个是最简单的了)使用Binding,把PasswordBox中的密码值与后台数据对象的某个属性关联使用PasswordBox的SecurePassword属性本文主要聊聊第三个方法。SecurePassword这个属性是在.NET 3.5 SP1的时候加进来的属性。 SecurePassword的数据类型是SecureString. 对于SecurePassword类型实例. 阅读全文
posted @ 2012-03-29 15:42 火腿骑士 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 事件也附加——深入浅出附加事件 WPF事件系统中还有一种事件被称为附加事件(Attached Event),简言之,它就是路由事件。“那为什么还要起个新名字呢?”你可能会问。 “身无彩凤双飞翼,心有灵犀一点通”,这就是对附加事件宿主的真实写照。怎么解释呢?让我们看看都有哪些类拥有附加事件:Binding类:SourceUpdated事件,TargetUpdated事件Mouse类:MouseEnter事件、MouseLeave事件、MouseDown事件、MouseUp事件,等等Keyboard类:KeyDown事件、KeyUp事件,等等再对比一下那些拥有路由事件的类,诸如Button、Sl. 阅读全文
posted @ 2012-03-29 15:31 火腿骑士 阅读(210) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/fantasiax/article/details/4575968深入浅出WPF(8)——数据的绿色通道,Binding(中)小序:今天中午吃完饭回工位的路上,和俺们组资深的Level 2技术支持肖老师聊了几句。我跟肖老师说,最近我在学习Binding,肖老师说——那可不是个好东西!因为如果在程序中使用了Binding,当出现错误的时候,比较难于调试。道理很简单——以前使用事件(C++里是回调)的时候,能明确地在事件处理函数里去跟踪调试,现在使用Binding,数据源和UI之间是一支封闭的“管道”,在代码中很难看到他们是在哪里关联上的、出了问题也不知. 阅读全文
posted @ 2012-03-29 15:26 火腿骑士 阅读(259) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/fantasiax/article/details/4575968深入浅出WPF(7)——数据的绿色通道,Binding(上) 小序:怎么直接从2蹦到7啦?!啊哦,实在是不好意思,最近实在是太忙了,忙的原因也非常简单——自己的技术太差了,还有很多东西要学呀。门里门外,发现专业程序员非常重要的一项技能是读别人写的代码,这项技能甚至比自己写代码更重要。Anstinus同学就是读代码的高手,我写的代码他看两眼就知道怎么回事了,并且能够立刻修改,而他的代码我读了好几天还不知道是怎么回事儿呢。2到7之间是留给XAML语言基础的,有些文章已经快写好了,但如果我对. 阅读全文
posted @ 2012-03-29 15:23 火腿骑士 阅读(266) 评论(0) 推荐(1) 编辑
摘要: 如果你是一名前端er,又想在移动设备上开发出自己的应用,那怎么实现呢?幸好,webkit内核的浏览器能帮助我们完成这一切。接触 webkit webApp的开发已经有一段时间了,现把一些技巧分享给大家 :1. viewport:也就是可视区域。对于桌面浏览器,我们都很清楚viewport是什么,就是出去了所有工具栏、状态栏、滚动条等等之后用于看网页的区域,这是真正有效的区域。由于移动设备屏幕宽度不同于传统web,因此我们需要改变viewport;实际上我们可以操作的属性有4 个:?width - // viewport 的宽度 (范围从200 到10,000,默认为980 像素)height. 阅读全文
posted @ 2012-03-29 12:30 火腿骑士 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 触摸屏网站制作的小细节正好前段时间刚刚接手了一个网站,所以把经验写出来和大家互相学习。 首先要考虑的是硬件的 分辨率问题。现在主流的触摸屏大小是17寸的,所以,我们可以使用1024*768来设计我们的触摸屏网页,触摸屏和普通的网页还是有一定的区别的,如: 触摸屏使用时不可能每天都有人点IE后在输入网址访问。所以,我们得想个办法,让计算机开机后。自己来读这个网页并显示。 最简单的办法:做个单独页加入以下代码。 程序代码 <script type="text/javascript" language="javascript"> window.op 阅读全文
posted @ 2012-03-29 12:01 火腿骑士 阅读(243) 评论(0) 推荐(0) 编辑