漂亮的NavMenu导航控件~

1.控件开发背景

我们在做项目的时候经常会遇到要做后台管理界面,一般都是用Fram框架来实现,框架的左面是一个导航栏,关键就是这个导航栏,是用TreeView控件,还是自己写JS脚本,用TreeView吧影响美观,写JS吧,太多了,麻烦。为了不用TreeView又省去写JS的麻烦,所以就有了
把以前写好的JS脚本封装成Asp.Net 服务器控件的想法。


2.实现效果
单击显示全图,Ctrl+滚轮缩放图片


3.  属性

CssFilePath :是如果用户不喜欢内置的CSS样式,可以选择自己喜欢的CSS样式来满足自己的需求。
ListItems    :是一个集合属性,其内部也包含一个集合属性。
单击显示全图,Ctrl+滚轮缩放图片


4.设计时支持
单击显示全图,Ctrl+滚轮缩放图片


增加设计时支持 , 主要是重写下面的方法:
复制  保存
public override DesignerActionItemCollection GetSortedActionItems()
{
DesignerActionItemCollection list = new DesignerActionItemCollection();

list.Add(new DesignerActionTextItem("查看选择面板", "ShowPanel"));
list.Add(new DesignerActionPropertyItem("CssFilePath", "Css文件路径:", "NavMenu"));
list.Add(new DesignerActionPropertyItem("ListItems", "ListItems:", "NavMenu"));

return list;
}

ListItems在设计时的界面同属性一样,如下图:
单击显示全图,Ctrl+滚轮缩放图片


5.项目工程结构如下
单击显示全图,Ctrl+滚轮缩放图片


6.小结

本控件主要有几个重点。

(a).TypeConverter的实现。
(b).Editor的实现。
(c).NavMenuDesigner的实现.


7源代码下载

下载
http://www.xq168.cn/showtopic.aspx?topicid=73

欢迎大家加入 "小强控件园" ,有更多惊喜等着你,进入小强控件园
http://www.xq168.cn/showtopic.aspx?topicid=73
[转自HeroBeast]
posted @ 2008-01-23 19:07  阳光囧男  阅读(661)  评论(0编辑  收藏  举报