摘要: 让我们分析这样一个需求——UI上有若干个文本框和一个“提交”按钮,这些文本框都是用户必须填写的,如果不都填写,提交按钮是不可用的。习惯了使用WinForm的同学可能脑子里已经开始飞速地搜寻使用Event来解决的方案了。实际上,在WPF里使用多路Data Binding将非常简单。所谓“多路Binding(也可以叫复合Binding)”就是指某个元素的Dependency Property的值不是由单一的数据源来决定,而是由多个数据源(通过一定逻辑)共同决定的,我们一般会把逻辑写在Converter里。是不是颇有些“脚踩N条船”的意思?多路Binding使用的类是MultiBinding类,这个 阅读全文
posted @ 2013-05-24 10:25 三叶草╮ 阅读(2976) 评论(0) 推荐(1)
摘要: 上篇文已经说明,Binding就是数据源与目标之间的“关联”。大多数情况下,数据从Source到Target以及从Target返回Source都是“直来直去”的,但有些场景却需要我们对数据做些转换才能为我所用。举两个典型的例子:如果数据源里的值是Y和N,如果是Y,那么UI上的CheckBox就被勾选,否则就不勾选,这就需要我们把string(也许是char)类型的数据转换成bool?类型再使用。如果Binding是TwoWay的,CheckBox的勾选操作还会把值传回数据源。如果“评论内容”TextBox里没有内容,则“提交”Button不可以点击。这是个典型的OneWay数据Binding, 阅读全文
posted @ 2013-05-23 16:23 三叶草╮ 阅读(342) 评论(0) 推荐(0)
摘要: 如果用一句话概括前几篇关于data binding的文章,那就是:介绍了数据驱动(界面)开发的基本原理,以及如何使用Binding类的实例连接数据源与数据表现元素、形成一对一的binding(为了让数据有效、安全,我们还可以添加Converter和ValidationRule等附件)。注意啦,我强调了一下——是一对一的binding哦!也就是说,一个binding实例一端是数据源、一端是表现元素。现在问题来了:实际工作中,我们操作的大部分数据都是集合,怎么进行“群体binding”呢?呵呵,这就引出了我们今天的第一个topic——对集合进行binding。集合Binding揭秘我们想这样一个问 阅读全文
posted @ 2013-05-23 16:22 三叶草╮ 阅读(227) 评论(0) 推荐(0)
摘要: 让我们了解Data Binding的几个关键概念了——数据源(Data Source,简称Source):顾名思义,它是保有数据的实体、是数据的来源、源头。把谁当作数据源完全由程序员来决定——只要你想把它当做数据核心来使用。它可以是一个UI元素、某个类的实例,也可以是一个集合(关于对集合的绑定,非常重要,专门用一篇文章来讨论之)。路径(Path):数据源作为一个实体可能保有着很多数据,你具体关注它的哪个数值呢?这个数值就是Path。就上面的例子而言,slider1是Source,它拥有很多数据——除了Value之外,还有Width、Height等,但都不是我们所关心的——所以,我们把Path设 阅读全文
posted @ 2013-05-22 18:19 三叶草╮ 阅读(335) 评论(0) 推荐(0)
摘要: 附件表结构如下:上传附件: /// <summary> /// 上传附件 /// </summary> /// <param name="filePath">上传文件路径</param> /// <param name="strAttachmentId">返回附件ID</param> /// <returns>true :上传成功 ; false :上传失败</returns>private bool UploadAttachment(string fileP 阅读全文
posted @ 2013-05-17 15:22 三叶草╮ 阅读(853) 评论(0) 推荐(0)
摘要: 摘要:随着人们对应用程序的要求越来越高,单进程应用在许多场合已不能满足人们的要求。编写多进程/多线程程序成为现代程序设计的一个重要特点,在多进程程序设计中,进程间的通信是不可避免的。MicrosoftWin32API提供了多种进程间通信的方法,全面地阐述了这些方法的特点,并加以比较和分析,希望能给读者选择通信方法提供参考。关键词进程进程通信IPCWin32API1进程与进程通信 进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码、数据以及它可利用的系统资源(如文件、管道等)组成。多进程/多线程是Windows操作系统的一个基本特征。MicrosoftWin32应用编程接口. 阅读全文
posted @ 2013-05-17 14:47 三叶草╮ 阅读(409) 评论(0) 推荐(0)
摘要: 作为微软技术.net 3.5的三大核心技术之一的WCF虽然没有WPF美丽的外观但是它却是我们开发分布式程序的利器但是目前关于WCF方面的资料相当稀少希望我的这一系列文章可以帮助大家尽快入门下面先介绍一下我的开发环境吧操作系统:windows vista business版本编译器:Visual Studio 2008(英文专业版)WCF的三大核心是ABC也就是A代表Address-where(对象在哪里)B代表Binding-how(通过什么协议取得对象)C代表Contact(契约)-what(定义的对象是什么,如何操纵)其他的理论知识大家可以参见《Programming WCF Servic 阅读全文
posted @ 2013-05-14 11:41 三叶草╮ 阅读(253) 评论(0) 推荐(0)
摘要: 要绑定的数据结构如下,一个Category包含多个SubCategory:public class Category { public string Name { get; set; } public ObservableCollection<SubCategory> SubCategories { get; set; } } public class SubCategory { public int Id { get; set; } public string SubCategoryName { get; set... 阅读全文
posted @ 2013-05-09 17:48 三叶草╮ 阅读(1727) 评论(0) 推荐(0)
摘要: var bMoveable=true;var strFrame; document.writeln('<iframe id=endDateLayer frameborder=0 width=162 height=211 style="position: absolute; z-index: 9998 阅读全文
posted @ 2013-05-09 11:10 三叶草╮ 阅读(403) 评论(0) 推荐(0)
摘要: 在WPF中,TreeView默认情况是不支持右键选定的,也就是说,当右键点击某节点时,是无法选中该节点的。当我们想在TreeViewItem中实现右键菜单时,往往希望在弹出菜单的同时选中该节点,以使得菜单针对选中的节点生效。 图1:虽然是在GNU节点上弹出的右键菜单,但选中的节点仍然是上次左键单击的DOC节点。 图2:弹出的右键菜单同时选中GNU节点才是我们所需要的效果 实现这个功能并不是很难,我最开始的做法就是目前网上流行的版本: 在TreeViewItem中响应PreviewMouseRightButtonDown事件 在响应右键单击事件前选中sender(TreeViewItem)节.. 阅读全文
posted @ 2013-05-08 15:00 三叶草╮ 阅读(391) 评论(0) 推荐(0)