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

第三章-路由事件

路由事件: 冒泡事件(从自己开始)、隧道时间(预览事件preview开头,从根开始开始)、直接事件

 事件的分类:
作用: 生命周期时间
输入事件
手写笔事件
触控事件

 

一、冒泡事件

    <Grid><StackPanel MouseLeftButtonDown="StackPanel_MouseLeftButtonDown"><Border Background="Red" Margin="30"Width="130" Height="130" MouseLeftButtonDown="Border_MouseLeftButtonDown"></Border></StackPanel></Grid>
    private void Border_MouseLeftButtonDown(object sender, MouseButtonEventArgs e){MessageBox.Show("Boder");e.Handled = true;//拦截,不让事件继续往上抛
    }private void StackPanel_MouseLeftButtonDown(object sender, MouseButtonEventArgs e){MessageBox.Show("Stack");}

  点击Border后,先弹出"Border"对话框后又弹出"Stack"对话框

  点击StackPanel后,弹出"Stack"对话框

 

二、隧道事件

 <Grid><StackPanel PreviewMouseDown="StackPanel_PreviewMouseDown"><Border Background="Red" Margin="30"Width="130" Height="130" PreviewMouseDown="Border_PreviewMouseDown"></Border></StackPanel></Grid>
  private void StackPanel_PreviewMouseDown(object sender, MouseButtonEventArgs e){MessageBox.Show("StackPanel");e.Handled = true;//拦截}private void Border_PreviewMouseDown(object sender, MouseButtonEventArgs e){MessageBox.Show("Boder");}

  点击StackPanel后,先弹出"Stack"对话框后又弹出"Border"对话框

  点击Border后,弹出"Border"对话框

 

三、鼠标事件

    <!--鼠标移动时,显示鼠标窗体当前坐标--><!--鼠标按下时显示坐标,放开则不显示--><Grid x:Name="grid" MouseMove="Grid_MouseMove"MouseDown="grid_MouseDown"MouseUp="grid_MouseUp"><TextBlock x:Name="txtPoint" Foreground="Black"></TextBlock></Grid>

可在鼠标按下时加入鼠标捕获功能Mouse.Capture((UIElement(sender)))   释放时可释放捕捉Mouse.Capture(null)

      private bool IsShowPoint = false;//鼠标按下事件private void Grid_MouseMove(object sender, MouseEventArgs e){if (IsShowPoint){Point point = e.GetPosition(grid);txtPoint.Text = $"当前坐标为({point.X},{point.Y})";}}//鼠标按下事件private void grid_MouseDown(object sender, MouseButtonEventArgs e){IsShowPoint = true;}//鼠标释放事件private void grid_MouseUp(object sender, MouseButtonEventArgs e){IsShowPoint = false;}

 

http://www.gsyq.cn/news/97254.html

相关文章:

  • 基于vue的校园论坛管理系统的设计与实现_1xs8770k_springboot php python nodejs
  • 基于vue的演唱会门票售票预约系统_y425v64z_springboot php python nodejs
  • 2025年口碑好的浆液泵耐磨涂层/脱硫耐磨涂层行业内知名厂家排行榜 - 行业平台推荐
  • 2025年靠谱的窑炉风机/风机用户好评厂家排行 - 行业平台推荐
  • 2025年靠谱的45#模具钢厂家推荐及选择参考 - 品牌宣传支持者
  • 基于vue的线上超市购物系统_e7n4m44y_springboot php python nodejs
  • AutoGPT代码生成能力评测:能否替代程序员?
  • BloodHound图论安全分析实战:从权限迷宫到清晰攻击路径
  • 突破性能瓶颈:Flash-Attention在AMD GPU上的完整部署指南与实战优化
  • SeedVR-3B视频修复实战指南:从模糊到高清的一键蜕变
  • Windows 10/11 HEVC解码插件终极安装指南
  • 微服务灰度发布实战:从理论到落地的完整解决方案
  • 5步突破Ocelot中间件扩展瓶颈:从架构设计到生产部署
  • Typst文件嵌入深度指南:告别重复代码的5大核心技巧
  • 2025年口碑好的花天鹅绒/普通天鹅绒厂家推荐及选购指南 - 品牌宣传支持者
  • 2025年质量好的高粘瓷砖胶最新TOP厂家推荐 - 行业平台推荐
  • 15、深入探索Gnutella网络:挑战与解决方案
  • 18、揭秘 Red Rover:突破网络审查的创新策略
  • 如何在5分钟内实现reMarkable平板屏幕共享?reStream工具完整指南
  • Qdrant混合搜索终极指南:突破语义与关键词的搜索壁垒
  • 如何让本地视频拥有B站弹幕效果?BiliLocal完整使用教程
  • WebGPU硬件加速终极解决方案:告别浏览器AI运行失败
  • LMMS音乐制作完全指南:从入门到精通的免费创作平台
  • MATLAB 2008B完整安装指南:从下载到配置的终极教程
  • 本地部署Wan2.2全攻略:从零基础到专业级视频生成实战
  • 效率提升18倍成本直降90%:SeedVR重构视频修复行业标准
  • Serverless Offline Docker网络全攻略:从零搭建多服务通信环境
  • 密码暴力破解中的密码安全相关知识
  • 3、深入解析Linux内存寻址与分页机制
  • 4、Linux进程管理:从基础概念到实现细节