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

扬州建设局网站wordpress仿p站主题

扬州建设局网站,wordpress仿p站主题,猎头公司人才招聘,便宜网站空间一、目的#xff1a;在WPF中如何注册控件级全局事件和应用程序级全局事件 二、实现 应用程序级全局事件 //注册应用程序级全局事件 EventManager.RegisterClassHandler(typeof(Button), Button.ClickEvent, new RoutedEventHandler(ic_event_Click)); 如上代码既会注册全局…一、目的在WPF中如何注册控件级全局事件和应用程序级全局事件 二、实现 应用程序级全局事件 //注册应用程序级全局事件 EventManager.RegisterClassHandler(typeof(Button), Button.ClickEvent, new RoutedEventHandler(ic_event_Click)); 如上代码既会注册全局Button的Click事件在任意位置点击Button既会触发注册的事件但这种方式作用范围过大对于有些业务来说这种方式会照成资源和性能上的浪费本文将主要介绍空间级别的全局事件这对于某功能来说既可以实现特殊的业务也可以有效的控制性能。 控件级全局事件 比如有一个ItemsControl控件绑定了一个集合集合里面有很多Button操作的按钮我们想要注册这些按钮的Click操作这时需要用到控件级别的全局Button的Click事件。代码如下 ItemsControl ItemsSource{h:GetStudents}ItemsControl.ItemTemplateDataTemplateButton Content{Binding Name}//DataTemplate/ItemsControl.ItemTemplate/ItemsControl 主要实现方式有两种 1 在Xaml中实现 ItemsControl x:Nameic_event ButtonBase.ClickItemsControl_Button_Click ItemsSource{h:GetStudents}ItemsControl.ItemTemplateDataTemplateButton Content{Binding Name}//DataTemplate/ItemsControl.ItemTemplate/ItemsControl private void ItemsControl_Button_Click(object sender, RoutedEventArgs e){if (e.OriginalSource is Button button)MessageBox.Show(button.Content?.ToString());} 可以看到直接在ItemsControl上注册Button.Click事件即可实现该效果此时当点击控件中任意Button时会触发该事件 2在代码中实现 //在代码中注册控件级全局事件 this.ic_event.AddHandler(Button.ClickEvent, new RoutedEventHandler(ItemsControl_Button_Click)); 在代码中实现也比较简单只需应用AddHandler方法注册一个Button.ClickEvent即可实现 总结 1、通过这种方式可以解决部分特殊业务如上述示例中可以注册控件内所有按钮点击事件而不需要对每个按钮单独做处理 2、不仅仅局限Button.Click事件任何路由事件和附加事件均可通过上述方式实现 3、可以实现没有暴露出来的鼠标键盘触摸板等应用附加事件定义的功能进行注册如 ItemsControl x:Nameic_event Mouse.GotMouseCaptureic_event_GotMouseCapture ItemsSource{h:GetStudents}ItemsControl.ItemTemplateDataTemplateButton Content{Binding Name}//DataTemplate/ItemsControl.ItemTemplate/ItemsControl ItmsControl没有暴露GotMouseCapture事件可以通过Mouse.GotMouseCapture去注册该事件 三、效果 需要了解的知识点  EventManager Class (System.Windows) | Microsoft Learn EventManager.RegisterClassHandler 方法 (System.Windows) | Microsoft Learn ButtonBase.Click 事件 (System.Windows.Controls.Primitives) | Microsoft Learn UIElement.AddHandler 方法 (System.Windows) | Microsoft Learn UIElement.RemoveHandler(RoutedEvent, Delegate) Method (System.Windows) | Microsoft Learn Mouse 类 (System.Windows.Input) | Microsoft Learn Keyboard 类 (System.Windows.Input) | Microsoft Learn System.Windows.Controls 命名空间 | Microsoft Learn控件库 - WPF .NET Framework | Microsoft Learn WPF 介绍 | Microsoft Learn XAML概述 - WPF .NET | Microsoft Learn Windows Presentation Foundation 简介 - WPF .NET | Microsoft Learn 使用 Visual Studio 创建新应用教程 - WPF .NET | Microsoft Learn 源码地址 GitHub - HeBianGu/WPF-ControlDemo: 示例 GitHub - HeBianGu/WPF-ControlBase: Wpf封装的自定义控件资源库 GitHub - HeBianGu/WPF-Control: WPF轻量控件和皮肤库 了解更多 适用于 .NET 8 的 WPF 的新增功能 - WPF .NET | Microsoft Learn 适用于 .NET 7 的 WPF 的新增功能 - WPF .NET | Microsoft Learn System.Windows.Controls 命名空间 | Microsoft Learn 欢迎使用 Expression Blend | Microsoft Learn https://github.com/HeBianGu HeBianGu的个人空间-HeBianGu个人主页-哔哩哔哩视频
http://www.w-s-a.com/news/504638/

相关文章:

  • 功能型网站响应式网站原理
  • 聊城建设网站骨干校 建设网站
  • 网站建设与管理是干嘛的中国新闻社是什么单位
  • 帮别人做视频剪辑的网站传业做微采商城网站
  • 设计一个网站开发方案宣传片制作企业
  • 新网站收录多少关键词免费一键网站
  • 网页制作与网站建设 在线作业手表网站制作照片
  • 电商网站开发技术与维护重庆建筑工程交易信息网
  • 人和马做的网站线上营销推广方式
  • 青海教育厅门户网站有赞商城
  • 网站建设多语种自动翻译插件wordpress谷歌翻译插件
  • 泰安高级网站建设推广wordpress教程 好看
  • 我自己的网站怎么做关键词优化泰安网站建设dxkjw
  • 平面设计做画册用网站泰州seo平台
  • 申请一个域名后怎么做网站evernote wordpress
  • 网站左侧导航栏设计网站开发后台数据怎么来
  • 临西做网站报价网站建设需要写语句吗
  • 建设网站网站首页购物网站开发代码
  • 淘宝客怎么建立网站网站360优化
  • 安徽建海建设工程有限公司网站网站空间和域名价格
  • 农产品网站建设策划哪里有做枪网站的
  • 更改各网站企业信息怎么做张家港企业网站制作
  • 郑州网站建设咨询银川做网站哪家好
  • 微信网站 微信支付合肥seo排名收费
  • 织梦做的网站如何上线广东省广州市番禺区南村镇
  • 网站设计的导航栏怎么做太原有网站工程公司吗
  • 苏州虎丘区建设局网站如何在一个数据库做两个网站
  • 淘宝天猫优惠券网站建设费用腾讯邮箱企业邮箱登录
  • 深圳福田做网站公司海航科技网站建设
  • 网站降权查询wordpress更换文章背景色