首页 > 其他分享 >IsHitTestVisible

IsHitTestVisible

时间:2023-10-19 20:45:21浏览次数:34  
标签:控件 IsHitTestVisible False 鼠标 设置 上层

  • 定义在UIElement类,几乎所有WPF元素都有此属性,默认值True。
  • 设置成False后,控件及其子控件都不能响应鼠标,如IsMouseOver,Click,MouseEnter,MouseLeftButtonUp等。
  • 假设通过触发器设置当鼠标经过控件表面时,背景色变成红色,但是IsHitTestVisible被设置成false后,鼠标经过时,控件不会发生任何变化。
  • IsHitTestVisible=False只是禁止响应鼠标输入,但不影响键盘输入,按Tab键和Enter键,控件仍旧可以获取焦点和触发事件。
  • 如果父控件False,即使子控件设置成True,子控件仍旧不能响应鼠标。
  • 不会影响控件的布局效果,仍旧会占用空间。
  • 透过上层让下层响应鼠标。多个元素重叠放置到Grid,最上层控件完全遮住下层控件,但是如果把上层控件的IsHitTestVisible设置成False,点击鼠标,下层控件会响应。将上层控件的IsEnabled设置成false是实现不了这种效果的,即使同时把上层控件设置成透明的,鼠标输入也会被上层控件先拦截住,到达不了下层,且IsEnable可能改变控件的外观,如按钮的背景色,但IsHitTestVisible不会改变控件的任何外观效果。
  • 结合透明度,可以实现蒙版效果,上层蒙版能看到却点不到,可远观而不可亵玩焉。
  • 相关路由事件 IsHitTestVisibleChanged
  • 控件被渲染到屏幕,可以在控件模板中设置组成控件的IsHitTestVisible来合适设计控件可感受鼠标输入的区域,如下图的Hit test failed为鼠标非响应区域。
    image

标签:控件,IsHitTestVisible,False,鼠标,设置,上层
From: https://www.cnblogs.com/LiuwayLi/p/17775578.html

相关文章