首页 > 其他分享 >WPF InputHitTest的用法

WPF InputHitTest的用法

时间:2023-11-02 19:33:27浏览次数:44  
标签:鼠标 hitElement UIElement 用法 InputHitTest WPF element 指针

一、定义 InputHitTest是一个用于检测鼠标指针是否命中某个可视元素的方法。它可以返回命中的最上层元素。   二、用法: ① 首先,我们需要获取InputHitTest方法所需的参数,即鼠标指针的位置。可以通过Mouse类的GetPosition方法来获取当前鼠标指针的位置:

Point position = Mouse.GetPosition(this);
②接着,我们可以调用InputHitTest方法来检测鼠标指针是否命中了某个可视元素:
IInputElement hitElement = this.InputHitTest(position); 
InputHitTest方法返回的是一个实现了IInputElement接口的对象,它可能是一个UIElement或FrameworkElement对象,也可能是一个ContentElement对象。 我们可以根据实际情况将其转换为相应的类型,然后进行后续的操作。 ③例如,如果我们想在鼠标指针命中了某个元素时改变该元素的背景色,可以这样实现:
if (hitElement != null) 
{
     UIElement element = hitElement as UIElement;
     if (element != null) 
     { 
        element.Background = Brushes.Red;
     }
 }

 

标签:鼠标,hitElement,UIElement,用法,InputHitTest,WPF,element,指针
From: https://www.cnblogs.com/LXLR/p/17806118.html

相关文章

  • C# WinFrom Application下的方法以及用法
    https://blog.csdn.net/weixin_44867439/article/details/132792736https://zhidao.baidu.com/question/177942555374414204.htmlApplication.Exit():用于退出应用程序。它会触发FormClosing事件,并允许窗体执行清理操作。一般来说,Application.Exit用于正常关闭应用程序。Applic......
  • wpf之样式
    在Window.Resources中书写样式;<Window.Resources><StyleTargetType="Button"></Style></Window.Resources>TargetType是指定标签的类型;<StyleTargetType="Button"></Style>中的style样式会在所有的button按钮中生效;<......
  • celery学习md笔记:从0基础到系统性掌握用法 第(2)篇:celery的配置
    Celery是一个功能完备即插即用的任务队列。它使得我们不需要考虑复杂的问题,使用非常简单。celery看起来似乎很庞大,本文我们先对其进行简单的了解,然后再去学习其他一些高级特性。完整版笔记直接地址:请移步这里共4章,12子模块,总计5628字本章节我们需要快速了解celery一......
  • 初学者需要注意的break 与continue的用法
    break1用法:break被执行时,会跳出所处的循环或这switch;2注意break需要在switch-case里面使用;如下例如果case的后面没有break,那么如上例case1的情况下它会一顺溜的走下来,而如果有break,那么到该case就会跳出switch,不会执行后面的case了。正确的写法如下:continue1用法:continue被执行时,跳......
  • Python eval的用法及注意事项
    eval是Python的一个内置函数,这个函数的作用是,返回传入字符串的表达式的结果。想象一下变量赋值时,将等号右边的表达式写成字符串的格式,将这个字符串作为eval的参数,eval的返回值就是这个表达式的结果。python中eval函数的用法十分的灵活,但也十分危险,安全性是其最大的缺点。本文从灵活......
  • DecimalFormat的基本用法
    一、舍入模式RoundingMode1、舍入模式RoundingMode为截断Downpublicstaticvoidmain(String[]args){doublenum=11.256;DecimalFormatdf=newDecimalFormat("#.##");//格式化为两位小数//指定RoundingMode舍入模式df.setRoundi......
  • [17章+电子书]C#速成指南-从入门到进阶,实战WPF与Unity3D开发
    点击下载:[17章+电子书]C#速成指南-从入门到进阶,实战WPF与Unity3D开发  提取码:a3s5 《C#速成指南--从入门到进阶,实战WPF与Unity3D开发》完整讲解了C#语言的核心知识和高阶编程技巧,并结合WPF客户管理系统和Unity3D切水果游戏两大实战项目,帮你实现技术的精通,完成从Zero到Hero的蜕变......
  • Markdown使用心得(简单用法解析)
    Markdown使用心得(简单用法解析)Markdown的优势个人看来,MD的优势在于脱离对鼠标的依赖,在简单的熟悉后,从段落格式到字体特效的实现都可以完全脱离鼠标。避免了为了格式和艺术效果多次将右手在键盘和鼠标来回移动,打破码字的纯净体验,避免频繁的中断思路。简单的用法归纳接下来,我将......
  • tp6 redirect用法
    一.响应操作1.响应输出,有好几种:包括return、json()和view()等等;2.默认输出方式是以html格式输出,如果你发起json请求,则输出json;3.而背后是response对象,可以用response()输出达到相同的效果;returnresponse($data);4.使用response()方法可以设置第二参数,状态码,或调......
  • bitset用法
    1、简介bitset在bitset头文件中,它类似数组,并且每一个元素只能是0或1,每个元素只用1bit空间。//头文件#include<bitset>2、初始化定义初始化方法代码含义bitsetaa有n位,每位都为0bitseta(b)a是unsignedlong型u的一个副本bitseta(s)a是string对象s中含有......