在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
如果你开发过控件,一定知道,如果你的控件的Property都是一些基础的类数据型,那么我们不需要对这些Property的保存和恢复做太多的工作,.Net 已经做好了这些支持工作.但是如果你想要在控件中加入集合性质的属性,事情就没有那么简单了!集合属性是很常见的,例如ListBox中的ListItemCollection,GridView中的GridViewColumn等等. 下面,我就把开发中的一些要点列举一下: 1.控件级别 Control Class Level 设置如下属性 [ParseChildren(true)] public class MyControl: WebControl 2.属性级别 Property Level 设置如下 [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] [PersistenceMode(PersistenceMode.InnerProperty)] [Editor(typeof(MyCollectionEditor),typeof(System.Drawing.Design.UITypeEditor))] public MyCollection Items { get{} } 注: 集合属性都应该是只读的! 3.实现MyCollectionEditor.
exp.DisplayText;
} } 大家可以看到,其实真正实现这个并不难,Framework中的基类CollectionEditor已经为我们做好了99%的功能,我们只要定制一下就好了!要注意的是前三个过程实现缺一不可,最后一个是在编辑对话框中显示项目的,可以是返回随意的字符串. |
请发表评论