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

就以上这么简单。

相关推荐
beyond谚语13 小时前
第一章 WPF概述
wpf
necessary6531 天前
从工行“余额归零”事件看CAP定理:当金融系统在一致性与可用性之间做出选择
分布式·金融·wpf·可用性测试
棉晗榜1 天前
WPF隐藏控件后,怎么让其上部的控件空间自动撑高
wpf
壹佰大多2 天前
【Redisson分布式锁源码分析-3】
数据结构·分布式·mysql·spring·spring cloud·wpf·lua
LateFrames2 天前
以小白视角尝试 WPF / WinUI3 / MAUI / MAUI Blazor 构建 Windows 桌面程序
windows·wpf·maui·mauiblazor·winui3
偶尔的鼠标人3 天前
Avalonia/WPF 打开子窗口,并且跨页面传值
c#·wpf·mvvm·avalonia
玖笙&3 天前
✨WPF编程进阶【6.1】:图形原则(附源码)
c++·c#·wpf·visual studio
lixy5793 天前
WPF检测网络状态切换
wpf
纸照片3 天前
WPF中为Button设置IsMouseOver和IsPressed事件中改变背景颜色不起作用
c#·.net·wpf
Aevget3 天前
DevExpress WPF中文教程:Data Grid - 如何使用虚拟源?(四)
ui·.net·wpf·devexpress·wpf控件