• WPF 给用户控件增加自定义事件的记录


    第一步 在自定义控件里加上声明

            /// <summary>
            /// The click event
            /// </summary>
            public static readonly RoutedEvent userControlClickEvent = EventManager.RegisterRoutedEvent("UserControlClick", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(CommonButton));
    
            /// <summary>
            /// 控件点击的操作.
            /// </summary>
            public event RoutedEventHandler UserControlClick
            {
                add
                {
                    AddHandler(userControlClickEvent, value);
                }
    
                remove
                {
                    RemoveHandler(userControlClickEvent, value);
                }
            }

    第二步 给自定义控件的按钮的click里添加调用

            public void btnClick(object sender, RoutedEventArgs e)
            {
                RoutedEventArgs args = new RoutedEventArgs(userControlClickEvent, this);
                RaiseEvent(args);
            }

    第三步 外部调用该事件

                CommonButton button = new CommonButton();
                button.UserControlClick += Button_UserControlClick;
                button.Width = 200;
                button.Height = 200;
                button.ImagePathNormal = "/Images/LeftMenuButtons/left_menu_1_normal.png";
                button.ImagePathPressed = "/Images/LeftMenuButtons/left_menu_1_selected.png";
                button.SetValue(Canvas.ZIndexProperty, 999);
                button.SetValue(Canvas.LeftProperty, (double)0);
                button.SetValue(Canvas.TopProperty, (double)0);
    
                mainCanvas.Children.Add(button);
            private void Button_UserControlClick(object sender, RoutedEventArgs e)
            {
                MessageBox.Show("已执行");
            }
  • 相关阅读:
    iframe应用 相互之间发送消息 postMessage
    function angular.bootstrap()
    总结
    1-angular.bind
    jQuery treeTable v 1.4.2
    声明了一个模块和一个控制器AngularJS的处理过程
    angularJs $templateCache
    $.fn.zTree 的使用
    Java异常throws与throw的区别
    Pom报错
  • 原文地址:https://www.cnblogs.com/wjx-blog/p/15455997.html
Copyright © 2020-2023  润新知