我的元素上有一个IsMouseOver触发器。我也有一个拖动动作发生,其中另一个元素捕获鼠标,因此IsMouseOver触发器从不发生,但我明确地希望它发生在某些元素,当我拖动它(鼠标捕获和所有)。这可能吗?当鼠标被捕获时IsMouseOver
8
A
回答
0
当用户拖动某物时,鼠标在该时刻被“捕获”,并且鼠标事件不会发送到鼠标经过的控件。只有实际“捕获鼠标”的控件才会收到鼠标事件。因此,你需要在那里处理那些事件。这应该很容易。 如果您有任何问题随时给我发送一些示例代码,我会为你检查它。最好的祝愿。
0
我知道这是几年前问的,但为防万一有人从搜索引擎登陆(就像我一样),这里是我如何为自己解决问题。而不是使用IsMouseOver
财产,使用命中测试你的代码,以确定是否鼠标在你的控制中:
bool IsMouseOverEx = false;
VisualTreeHelper.HitTest(this, d =>
{
if (d == this)
{
IsMouseOverEx = true;
return HitTestFilterBehavior.Stop;
}
else
return HitTestFilterBehavior.Continue;
},
ht => HitTestResultBehavior.Stop,
new PointHitTestParameters(Mouse.GetPosition(this)));
if (IsMouseOverEx)
{
//Do whatever you need in case of MouseOver
}
注:如果您还没有阅读该问题,请注意,此方法适用于鼠标被“捕获”并因此IsMouseOver
属性无法正常工作的情况。在正常情况下,您应该始终使用IsMouseOver
。
相关问题
- 1. 捕获鼠标
- 2. WinForms鼠标捕获
- 3. java鼠标捕获
- 4. 如何在Silverlight RepeatButton被压下时捕获鼠标?
- 5. 鼠标捕获的差异
- 6. 捕获鼠标事件
- 7. 捕获鼠标运动
- 8. 鼠标移动捕获
- 9. 在Firefox中捕获鼠标
- 10. 拖放鼠标捕获
- 11. 鼠标移动捕获(鼠标离开和鼠标输入)
- 12. 捕获鼠标光标图标C++
- 13. 捕获(捕获)Java中的窗口中的鼠标光标
- 14. 如何获取鼠标捕获元素
- 15. 诱捕鼠标?
- 16. 当鼠标左键被按住时WM_MOUSELEAVE没有被生成
- 17. highcharts:从捕捉鼠标事件,或捕获鼠标点击整个图表上
- 18. 释放鼠标捕获并让鼠标点击通过
- 19. 鼠标捕获后Silverlight鼠标事件丢失了吗?
- 20. C#:当鼠标左键/右键被按下时,我如何获得鼠标的坐标?
- 21. 当鼠标移动到mousedown和mouseup之间时,如何捕获鼠标点击javascript
- 22. 当鼠标事件已经离开客户区域时,我们如何捕获鼠标事件?
- 23. 当用户点击鼠标然后拖动鼠标时,是否有一种干净的方式可以捕获?
- 24. 在asp.net上捕获鼠标文本框
- 25. 捕获鼠标事件在Python
- 26. 在C(linux)中捕获鼠标事件
- 27. JOGL不捕获Java鼠标事件
- 28. 如何捕获鼠标移动事件
- 29. Autohotkey - 捕获额外鼠标按钮
- 30. 如何用python捕获鼠标移动?
你有没有找到你的问题的答案? – 2012-07-17 12:42:30