写Web控件,怎么也得让大伙儿在设计阶段就能看出这控件的最终模样吧。为此看了很多控件源码,发现通常的做法都是自己写一个ControlDesigner,然后在GetDesignTimeHtml()中根据控件的属性,自己堆砌设计时Html,以便在设计阶段呈现控件外观。
于是,照搬不误,我也同样尝试了一阵子,最终发现自己写Html根本就是个费力不讨好的方法。
一、样式的设计时支持。
每个控件的外观分类里都有N个属性,比如Font、Color、Border这些,不知有没朋友试过自己编写Html来实现这些属性的设计时呈现,我试过,累死不说,而且还写不全、写不好。
二、嵌套控件的设计时呈现
假设你已经写了一个控件A,实现了ControlDesigner.GetDesignTimeHtml(),在设计阶段有完美的呈现。现在需要再写个控件B,B需要把A做为一个子控件来处理,这时有个很奇怪的现象,在设计时刻,IDE只能显示B的外观,而无法显示B的子控件A的外观。我试了很多方法,都无法解决。
先写这些,至少在Dudu清理空白Blog时,我能幸免了。
后面内容参见 http://www.cnblogs.com/piglikefly/archive/2004/09/07/40805.aspx