• WPF组件开发


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

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

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

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

    C:UsersAdministratorDocumentsVisual Studio 2010TemplatesProjectTemplatesVisual 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组件(因为我没有自己写)想自己写可以按照这种方式去写。

    想要组件基类模板的请加群:

    如果有什么问题的请留言或者加群:

    WPF、AE技术交流群:94234450  
    
    群链接:http://wp.qq.com/wpa/qunwpa?idkey=14e3d476b4a53a3a1502183e5a384d94b8be74b7510c0a76e67c4dec61f23781
  • 相关阅读:
    页面跳转
    vue项目流程
    前端框架发展史
    webpack构建react项目和发布流程
    React工作原理
    React项目中的registerServiceWorker作用?
    学习react总结
    浏览器的渲染:过程与原理
    浮动相关
    块级元素与内嵌元素
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3253554.html
Copyright © 2020-2023  润新知