当前位置: 首页 > news >正文

wpf制作自定义控件,并触发外部路由事件

目的是在前端增加一个自定义控件里的button后,按下动作可以调用使用该控件的页面的事件

首先在前端增加自定义控件里加入一个button,在其cs页面里注册点击事件

    var btnAdd = GetTemplateChild("btnAdd") as FlatButton;if (btnAdd != null){btnAdd.Click -= BtnAdd_Click;btnAdd.Click += BtnAdd_Click;}

然后定义路由以及事件

 /// <summary>/// 注册控件路由/// </summary>public static readonly RoutedEvent BtnAdd =EventManager.RegisterRoutedEvent("BtnAddClick", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(Button));/// <summary>///  声明外部调用事件/// </summary>public event RoutedEventHandler BtnAddClick{add{AddHandler(BtnAdd, value);}remove{RemoveHandler(BtnAdd, value);}}public void BtnAdd_Click(object sender, RoutedEventArgs e){RoutedEventArgs args = new RoutedEventArgs(BtnAdd, this);RaiseEvent(args);}

最后,在使用该自定义控件的前端里加入该事件

            <usercontrol    BtnAddClick="BtnAddClick" ></usercontrol    >

在后端写入事件触发的内容

  private void BtnAddClick(object sender, RoutedEventArgs e){messageBox.Show("自定义控件的button被按下");}

http://www.lryc.cn/news/172358.html

相关文章:

  • axios全局路由拦截的设置方法
  • XSS跨站脚本攻击
  • Java8实战-总结33
  • Postman 的使用教程(详细)
  • 单元测试 —— JUnit 5 参数化测试
  • uview组件库的安装
  • skywalking入门
  • 【Java 基础篇】Java多线程实现文件上传详解
  • 【计算机基础】VS断点调试,边学边思考
  • BD就业复习第五天
  • ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the ‘ssl‘
  • Qt5开发及实例V2.0-第十二章-Qt多线程
  • Windows 修改系统默认字体
  • 图像处理软件Photoshop 2024 mac新增功能
  • JavaScript之观察者模式
  • 深入了解ln命令:创建硬链接和符号链接的实用指南
  • 虚拟IP技术
  • 蓝桥杯 题库 简单 每日十题 day5
  • 【计算机网络】图解路由器(一)
  • C语言文件的相关操作
  • Java入门级简单定时任务TimerTask
  • Linux命令行教程:使用head和tail命令快速查看文件的开头和结尾
  • [CISCN 2019 初赛]Love Math 通过进制转换执行命令
  • 【Linux】系统编程生产者消费者模型(C++)
  • 【数据结构】图的应用:最小生成树;最短路径;有向无环图描述表达式;拓扑排序;逆拓扑排序;关键路径
  • 大数据驱动业务增长:数据分析和洞察力的新纪元
  • 科技云报道:分布式存储红海中,看天翼云HBlock如何突围?
  • Java高级-动态代理
  • 时序预测 | MATLAB实现POA-CNN-LSTM鹈鹕算法优化卷积长短期记忆神经网络时间序列预测
  • n个不同元素进栈,求出栈元素的【不同排列】以及【排列的数量】?