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

就以上这么简单。

相关推荐
Macbethad1 天前
使用WPF编写一个读取串口的程序
wpf
Macbethad3 天前
如何用WPF做工控设置界面
java·开发语言·wpf
csdn_aspnet3 天前
WPF 做一个简单的电子签名板(一)
c#·wpf
玖笙&3 天前
✨WPF编程进阶【7.2】:动画类型(附源码)
c++·c#·wpf·visual studio
·心猿意码·3 天前
WPF中TemplatePart机制详解
wpf
FuckPatience4 天前
WPF 使用UserControl / ContentControl显示子界面
wpf
wangnaisheng5 天前
【WPF】WrapPanel的用法
wpf
源之缘-OFD先行者5 天前
10 万雷达点迹零卡顿回放:WPF + Vortice.Direct2D 多线程渲染实战
wpf
猫林老师5 天前
Flutter for HarmonyOS开发指南(九):测试、调试与质量保障体系
flutter·wpf·harmonyos
LateFrames5 天前
做【秒开】的程序:WPF / WinForm / WinUI3 / Electron
electron·c#·wpf·winform·winui3·claude code