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);

就以上这么简单。

相关推荐
敲代码的嘎仔3 小时前
从集群锁失效到异步领券:我用分布式锁 + Redisson + MQ 把领券接口 RT 从 200ms 压到 15ms
java·数据库·redis·分布式·缓存·ai·wpf
闲云自留地9 小时前
OpenStack 的身份管家:Keystone 令牌、RBAC 权限模型拆解
wpf·openstack
FuckPatience2 天前
WPF 窗体唤醒,判断是否已存在,存在则弹出
wpf
程序员清风2 天前
从单体应用到微服务:后端系统拆分的基本方法
微服务·架构·wpf
FuckPatience3 天前
WPF 改变根据某一列条件改变行样式
wpf
dalong104 天前
WPF:DataGrid样式
wpf
samble6 天前
从零搭建工业控制系统(二十二):线程安全与并发控制
c#·wpf·并发·mvvm·线程安全·工业控制
姜穆澜6 天前
OneID 从 0 到 1 完整生产案例(三)
大数据·wpf
dalong106 天前
WPF:MVVM 示例
大数据·wpf
samble6 天前
从零搭建工业控制系统(二十一):状态管理系统——中心状态对象设计
c#·wpf·mvvm·状态管理·工业控制