【.Net码农】WPF组件开发

来源:互联网 发布:看舌苔知病情图解大全 编辑:程序博客网 时间:2024/05/17 03:02

WPF组件开发

在做组件之前,为了适应框架,我们需要有一个基类,并将这个基类打包成一个模板,让大部分组件去使用这个模板。

组件的基类就不多讲了,上篇文章中已经说过了。这是地址:

http://www.cnblogs.com/BeiJing-Net-DaiDai/articles/3248034.html

首先 将基类打包成一个模板    放在   

C:\Users\Administrator\Documents\Visual Studio 2010\Templates\ProjectTemplates\Visual C#    文件夹下这是win7下的     xp的在我的文档目录下找。

然后启动vs2010   文件->新建->项目

选择Visual C#  找到Component  

 

打开这个    就看到模板了。

ok!   开始编辑

哦,对了   记得改下名字

在创建解决方案的时候去改,不要创建好之后改,以免不必要的麻烦。

组件:

复制代码
public class ComponentTextBox : Component    {        public ComponentTextBox()        {            Content = new ShapeComponentTextBox();        }        public override string TextName        {            get { return "文本框"; }        }    }
复制代码

组件的属性:

复制代码
public class ComponentTextBoxProperty : ComponentProperty    {        private string _Content;        [Category("内容设置")]        [Description("文字")]        public string Content        {            get { return _Content; }            set            {                if (_Content == value) return;                _Content = value;                OnPropertyChanged("Content");            }        }    }
复制代码

组件的事件:

  

复制代码
public class ComponentTextBoxEvent : ComponentEvent    {        private string _Click;        [Category("基础事件")]        [Description("单击事件.")]        [EventInfo("Click")]        public string Click        {            get { return _Click; }            set            {                if (_Click == value) return;                _Click = value;                OnPropertyChanged("Click");            }        }        public void OnClick(object sender, RoutedEventArgs e)        {            if (Click != null)            {                    //事件处理            }        }    }
复制代码

ShapeComponentTextBox:

复制代码
public class ShapeComponentTextBox : HrvContent    {        public ComponentTextBoxProperty _Property;        public ComponentTextBoxEvent _Event;            public ShapeComponentTextBox()        {            this.Content = new TextBox();          BindingOperations.SetBinding(this.Content as TextBox, TextBox.ContentProperty, new Binding("Content") { Source = this.Property, Mode = BindingMode.TwoWay });        }        public override ComponentProperty Property        {            get            {                if (_Property == null)                {                    _Property = new ComponentTextBoxProperty();                }                return _Property;            }        }        public override ComponentEvent Event        {            get            {                if (_Event == null)                {                    _Event = new ComponentTextBoxEvent();                }                return _Event;            }        }    }
复制代码

如此,大功告成!

这样就创建了一个TextBox组件(因为我没有自己写)想自己写可以按照这种方式去写。

 

点击加入QQ群:

WPF、AE技术交流群:94234450  
分类: 组件开发
绿色通道: 好文要顶关注我 收藏该文与我联系
未雨先惆
关注 - 0
粉丝 - 32
+加关注
0 0
原创粉丝点击