WPF 点在控件内 判断

文章来源于本人的cnblog克隆https://www.cnblogs.com/ZoeWong/p/18396165

Winform方法

Winform里点在控件内判断方法很简单,获取的Rectangle,然后用它Contains方法就行

WPF方法

WPF不行,但其实也差不多,方法如下:

  • 前提:控件A是总体容器控件,控件B是其子控件,判断鼠标点是否在B内
  • 获取鼠标当前位置

Point pntMouse = Mouse.GetPosition ( A);

  • 获取控件B的Rect

Point pntB = B.TranslatePoint ( new Point(), A);

Rect rectB = new Rect(pntB,B.RenderSize);

  • 判断鼠标是否在B内

bool bContained = rectB.Contains(pntMouse);

就以上这么简单。

相关推荐
largecode15 小时前
座机号码认证如何操作?申请热线实名名片,树立统一官方客服形象
linux·sql·华为·c#·.net·wpf·harmonyos
小满Autumn17 小时前
WPF 入门:XAML 语法、布局与数据绑定
microsoft·c#·.net·wpf
小满Autumn1 天前
WPF 进阶:样式、触发器与控件模板
c#·.net·wpf
她说彩礼65万2 天前
WPF视觉树 逻辑树
wpf
贺国亚2 天前
分布式并发
分布式·wpf
Iawfy_2 天前
WPF的ComboBox绑定Enum枚举
wpf
她说彩礼65万2 天前
WPF TemplateBinding
wpf
她说彩礼65万2 天前
WPF 三大模板类型 四大属性名称
wpf
无心水2 天前
金融系统数据一致性之战:联机交易与批量作业的冲突处理完全指南
人工智能·金融·wpf·批量作业·顶尖架构师·联机交易·金融架构师
步步为营DotNet3 天前
深入.NET 11:ASP.NET Core 10 在构建高可用分布式系统的关键技术与实践
asp.net·.net·wpf