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

就以上这么简单。

相关推荐
跟着珅聪学java6 小时前
RedisTemplate 分布式锁实现详解
wpf
武藤一雄7 小时前
C#:进程/线程/多线程/AppDomain详解
后端·微软·c#·asp.net·.net·wpf·.netcore
武藤一雄15 小时前
C# Prism框架详解
开发语言·后端·微软·c#·.net·wpf
wniuniu_18 小时前
ceph基础知识
ceph·wpf
DataIntel18 小时前
WPF 操作之Dispatcher--- 只在多线程更新 UI 时使用。
wpf
Macbethad18 小时前
WPF工业设备远程控制程序技术方案
分布式·wpf
Macbethad1 天前
工业设备数据记录程序技术方案
wpf·信息与通信
zzyzxb2 天前
WPF 中隧道事件和冒泡事件
wpf
闲人编程2 天前
API限流、鉴权与监控
分布式·python·wpf·限流·集群·令牌·codecapsule
TA远方2 天前
【WPF】桌面程序使用谷歌浏览器内核CefSharp控件详解
wpf·浏览器·chromium·控件·cefsharp·cefsharp.wpf