asp.net本身提供了很多控件,提供给我们这些比较懒惰的人使用,我认为控件的作用就在此,因为我们不想重复工作,所以要创建它,这个本身便是一个需求的关系,所以学习控件开发很有意思. wrox网站上有本书 Professional ASP.NET 2.0 Server Control and Component Development 现在还没有出版,但网站上放出了代码,所以正好下载过来学习一下. 我看过前几章代码,环环相扣,作者用不同的知识向我们展示同一个效果,所以循序渐进的学下来很有好处. 虽…
原文:wpf控件开发基础(2) -属性系统(1) 距离上篇写的时间有1年多了.wpf太大,写的东西实在太多,我将依然围绕着自定义控件来展开与其相关的技术点. 也欢迎大家参与讨论.这篇我们将要讨论的是WPF依赖属性,接触过的朋友应该对其有所了解,但在我们讲WPF依赖属性之前,我们来看看在WPF出现之前.net中的属性是如何使用的. 普遍存在的属性问题 c#基本属性 ASP.NET自定义控件属性 WinForm自定义控件属性 Javascript自定义控件属性 c#基本属性 namespace WP…
以下是GridColumnsEditor的实现代码: GridColumnsEditor.cs using System; using System.Collections.Generic; using System.ComponentModel.Design; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web.UI.WebControls; namespace AspNetS…
wpf控件开发基础(3) -属性系统(2) http://www.cnblogs.com/Clingingboy/archive/2010/02/01/1661370.html 这个有必要看看 wpf控件开发基础(2) -属性系统(1) http://www.cnblogs.com/Clingingboy/archive/2010/02/01/1661090.html 该系列文章列表在这里: http://www.cnblogs.com/Clingingboy/archive/2010/02.h…
原文:wpf控件开发基础(3) -属性系统(2) 上篇说明了属性存在的一系列问题. 属性默认值,可以保证属性的有效性. 属性验证有效性,可以对输入的属性进行校验 属性强制回调, 即不管属性有无发生变化,都要做出通知. 属性变更通知,当属性发生变化可以通知程序作出一系列的处理. 这里还没WPF什么事,我们来看看依赖属性是如何解决以上问题的. 内容概要 定义第一个最简单的依赖属性 依赖属性值基本操作 属性包装器 属性元数据(PropertyMetadata) 属性元数据基本行为 MSDN的原话虽然生…
原文:wpf控件开发基础(4) -属性系统(3) 知识回顾 接上篇,上篇我们真正接触到了依赖属性的用法,以及依赖属性的属性元数据的用法,并且也实实在在地解决了之前第二篇提到的一系列问题.来回顾一下 属性默认值 属性变更通知 属性强制回调 本篇将继续讨论上一篇提到的问题,主题依然是属性元数据. 内容概要 属性值验证 默认值问题 依赖属性的不变与可变 属性元数据的唯一性 重写属性元数据 改写属性元数据 一.属性值验证 依赖属性具备属性验证的功能,其也会对依赖属性默认值进行验证,在Dependency…
原文:wpf控件开发基础(5) -依赖属性实践 知识回顾 接上篇,回顾这三篇讲了什么东西 首先说明了属性的现存问题,然后介绍了依赖属性的基本用法及其解决方案,由于依赖属性以静态属性的方式存在,进而又介绍了可重写的属性元数据的使用.这是以上三篇所说明的问题.当然依赖属性的特性依然没有说完整.这两天也一直在想依赖属性,然后就是头疼,呵呵.由于WPF的依赖属性系统与整体功能都有关联,所以接下来等讲到某个特性的时候然后再来讲依赖属性.这篇我们来个简单的实践,增加点乐趣. 定义RadioButtonLis…
1)System.Web.UI.Control(以下简称Control) Control 类是包括自定义控件.用户控件和页在内的所有 ASP.NET 服务器控件的基类..定义由所有 ASP.NET 服务器控件共享的属性.方法和事件. 命名空间:System.Web.UI程序集:System.Web(在 system.web.dll 中) 2)System.Web.UI.WebControls.WebControl(以下简称WebControl) WebControl 类是 System.Web.…
1)步骤一:新建类库项目:Controls,创建新解决方案:CustomLibrary 2)步骤二:在类库项目中添加“ASP.NET服务器控件”新建项:RenderHelloWorld.cs (也可以是新建类) 3)步骤三:修改RenderHelloWorld.cs代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Te…
一.Page本质是一个Control 我们首先要澄清的第一个概念是页面类Page本质是一个控件类,它派生于TemplateControl类,而TemplateControl派生自Control类.既然饭我没有乱吃,自然话也不会乱讲.借田有良老师的翠花给大家上证据如下: 二.Control的“生死之序” 1.实例化(Instantiate) 我们写控件一般不要接触此活动. 2.初始化(Initialize) [初始化自己,创建它的子控件(但该过程控件的状态没有加载).触发该控件的OnInit()事…