使控件在命中测试中可见,而在拖放测试中透明

本文关键字:测试 拖放 透明 控件 | 更新日期: 2023-09-27 17:50:05

我有一个ItemsControl,它将项目显示为折线,并具有透明背景。我想让这个控件作为拖放目标不可见(这样它下面的控件就可以接收拖放事件),但我确实想让它在命中测试中可见,这样我就可以单击折线并对它们执行操作。

我找到了IsHitTestVisible属性。然而,它启用或禁用拖放和命中测试。是否有办法使控件"不可见",就像一个可能的投放目标,但留下它可见的命中测试和鼠标事件?

谢谢。

我最终发现ItemsControl,即使它的背景是透明的,不知何故隐藏了鼠标事件下面的元素。所以问题不在于拖放。你知道我怎样才能让它变得透明并允许它下面的项目有鼠标事件吗?

使控件在命中测试中可见,而在拖放测试中透明

你需要将它的Background设置为null,或者在XAML中设置为{x:Null}。这就像透明一样,但不允许该区域作为控件的一部分进行hit-test。