2008年10月29日
摘要: WPF提供了很重要的一个东西就是绑定Binding, 它帮助我们做了很多事情,这个我们在WPF学习之绑定这篇里边有讲过。对于Binding我们可以设置其绑定对象,关系,并通过某种规则去验证输入,或者转换值等等,这一切的背后是省去了很多我们需要自己去处理的代码。而对于WPF最主要表现的东西—渲染UI,当然是我们必须去了解和把握的了。美工设计了很多效果,并把其设计成样式展现(很大程度上我们应该认为Style也是一种资源),而作为程序员的我们不应该只是简单的拿来这些拼凑的效果,根据程序的逻辑和用户的操作来动态的展现效果才是我们能发挥它对界面渲染的更好途径。Trigger就给我们提供了很好的途径去结合这些元素。 阅读全文
posted @ 2008-10-29 18:40 Allan. 阅读(36180) 评论(6) 推荐(8) 编辑
  2008年10月25日
摘要: 在WinForm或者WebForm中我们有一大批的Grid控件供我们使用,DataGridView,GridView,Repeater等等,这样的网格数据空间给我们提供了极大的方便去让数据以可定义的方式显示并提供诸如导航,分页,排序,过滤,数据更新等附加操作 ,而程序员所需要付出的却很少。但在WPF中我们通常并不具备这么优越的网格控件,而要做到这些除了用Grid.RowDefinitions和Grid.ColumnDefinitions配合一起造出一个Grid,或者利用ListView控件的ListView.GridView视图,我们好像别无选择。而且对于这些的使用并不具备像WinForm中那么强大的功能,更多的需要程序员去控制数据的展现并提供附加操作的实现。微软新近在CodePlex上发布了WPF Toolkit,它就提供了WPF版本的DataGrid,一如既往的强大和易用,今天我们就一起来体验一下这个强大的控件。 阅读全文
posted @ 2008-10-25 23:42 Allan. 阅读(59628) 评论(7) 推荐(6) 编辑
  2008年10月23日
摘要: 有的时候我们可能需要将某个Organization 数据库更改,或者由于某种原因我们需要将数据库指向另外一个已经存在的数据库。你可能知道数据库的结构,CRM将Organization的相关信息包括其连接串,数据库服务器名,Reporting Server的名称等都记录在MSCRM_CONFIG数据库的Organization表中,但你简单的修改这里边的信息可能并不管用 阅读全文
posted @ 2008-10-23 15:19 Allan. 阅读(1034) 评论(0) 推荐(0) 编辑
摘要: 在上一篇文章中我们讨论了有关WPF绑定的知识点,现在我们可以很容易的将业务数据作为源绑定到WPF控件并可以通过创建不同的Data Template后来以特定的样式展现。而作为这个最常用的功能我们可以通过Two Way的绑定模式与界面交互,而在这个时候我们就需要类似于ASP.NET中Validator一样的东西来限制或者说校验数据有效性。ValidationRule就是为这样的应用而生的。本文将详细讨论如何应用验证规则和自定义错误模板。 阅读全文
posted @ 2008-10-23 13:43 Allan. 阅读(13648) 评论(5) 推荐(2) 编辑
  2008年10月22日
摘要: WPF中的数据绑定提供了很强大的功能。与普通的WinForm程序相比,其绑定功能为我们提供了很多便利,例如Binding对象的自动通知/刷新,Converter,Validation Rules,Two Way Binding等功能,省去了很多维护的繁琐工作。另外对于WPF中提供的数据模板功能,让我们可以轻松定制可以被复用的控制呈现的模块—但这是以数据绑定为前提来做到轻松易用的效果的。数据提供者例如XmlDataProvider和ObjectDataProvider更是简化了将对象以特定方式绑定并呈现的过程。可以说,数据绑定是WPF中让我们真正能够开始体现其便利性的特征之一,而对以数据驱动的应用来讲,其重要性不言而喻。 阅读全文
posted @ 2008-10-22 11:41 Allan. 阅读(69042) 评论(15) 推荐(20) 编辑
  2008年10月18日
摘要: WPF通过资源来保存一些可以被重复利用的样式,对象定义以及一些传统的资源如二进制数据,图片等等,而在其支持上也更能体现出这些资源定义的优越性。比如通过ResourceDictionary的支持就可以通过资源来实现换肤功能,在ExpressionBlend中设计的酷炫造型也可以通过导出成资源来很容易的被程序员所引用,本地化的实现,访问另外程序集的嵌入式资源等等。这些都给我们提供了丰富的手段通过资源访问架构来构建丰富的富媒体应用程序。本文简单讲解了WPF Resources的分类及其常见用法,并简单触及用ResourceDictionary来管理多个Resources文件(这是换肤的基础)。 阅读全文
posted @ 2008-10-18 23:43 Allan. 阅读(45047) 评论(10) 推荐(12) 编辑
  2008年10月15日
摘要: ADO.NET Data Service是随同Visual Studio 2008 SP1提供的用于构建在数据对象模型 (如EF-DEMX, LINQ-DBML) 之时来快速提供企业网内外的轻量级数据服务。ADO.NET Data Service Framework的目标是提供一个天生与web相结合的灵活的数据服务。它其中最醒目的特点就是通过URIs来指向以特定方式(JSON/ATOM)展现的数据(块),并以REST方式来展现。所支持的URIs访问方式通过对标准HTTP verbs如GET, POST, PUT和DELETE的支持来完成对数据的CRUD. 本文会通过一个具体的例子来演示如何使用ADO.NET Data Service以及其部分特性。 阅读全文
posted @ 2008-10-15 23:33 Allan. 阅读(2737) 评论(3) 推荐(0) 编辑
  2008年10月12日
摘要: 代码的动态编译并执行是一个.NET平台提供给我们的很强大的工具用以灵活扩展(当然是面对内部开发人员)复杂而无法估算的逻辑,并通过一些额外的代码来扩展我们已有 的应用程序。这在很大程度上给我们提供了另外一种扩展的方式(当然这并不能算是严格意义上的扩展,但至少为我们提供了一种思路)。 阅读全文
posted @ 2008-10-12 23:37 Allan. 阅读(13946) 评论(25) 推荐(16) 编辑
  2008年10月7日
摘要: Code Snippet是Visual Studio内建支持的管理代码片段的工具,并且在Visual Studio 2008中更是提供了Code Snippet Manager来帮助管理代码片段。但很多时候我们在做演示或者Lab时,需要事先将Code Snippet做好并通过运行脚本(安装程序)来装载,这个时候可能做一个vsi文件更方便一些。本文就介绍了如何快速方便的建立一个VSI文件来安装事先定制好的Code Snippet. 阅读全文
posted @ 2008-10-07 23:41 Allan. 阅读(2676) 评论(1) 推荐(1) 编辑
摘要: 前段时间一直在做CRM4.0的相关开发,其中大多数都是在做Customization和工作流,其实CRM的开发本来大多都是Customization,而在做Customization时更多的我们通常又会选择用Javascript来实现一些逻辑,包括有关界面样式的更改,动态生成一些控件,调用Web Service,强制提交隐藏字段,客户端事件通知等等。 阅读全文
posted @ 2008-10-07 19:42 Allan. 阅读(3884) 评论(10) 推荐(0) 编辑