我需要以某种方式知道,如果用户点击或移动鼠标到列表框本身或者它的滚动条,但现在我总是得到消息,就像它发生在/在列表框中。如何辨别在ListBox的鼠标事件和其滚动
2
A
回答
1
假如你提供一些背景你的问题,它会更容易回答。我有执行上的拖放操作的视觉反馈时,虽然我不知道如果这是你在做什么,做类似的事情。因此,我所能做的就是告诉你我是如何处理我的问题的。
基本上,我用SystemParameters.VerticalScrollBarWidth
property这样的:
...
if (mouseXPositionInListBox > dragSourceControl.ActualWidth -
SystemParameters.VerticalScrollBarWidth - dragSourceControl.Padding.Right)
isScrolling = true;
...
它也可以在XAML中使用:
<Grid Width="{DynamicResource
{x:Static SystemParameters.VerticalScrollBarWidthKey}}" />
如果你与其他维度的工作,也有SystemParameters.HorizontalScrollBarHeight
property 。
UPDATE >>>
您可以检测是否(垂直)ScrollBar
可见通过读取ScrollViewer.VerticalScrollBarVisibilityProperty DependencyProperty
的价值:
ScrollBarVisibility visibility = (ScrollBarVisibility)yourListbox.GetValue(
ScrollViewer.VerticalScrollBarVisibilityProperty);
您可能也有兴趣使用在ScrollViewer.ViewportWidth
Property和/或ScrollViewer.ViewportHeight
Property它会告诉你ScrollViewer
内可见区域的实际大小。
相关问题
- 1. 如何将鼠标移动事件转换为鼠标滚动/拖动事件
- 2. 鼠标滚动事件
- 3. 鼠标滚动事件
- 4. 双鼠标滚动事件
- 5. 鼠标滚动事件
- 6. 滚动条“鼠标滚动”事件
- 7. 页面(鼠标滚轮,滚动事件)
- 8. 如何滚动列表向上和向下的鼠标事件
- 9. 如何在Selenium IDE中自动执行鼠标滚动事件
- 10. Python中的鼠标滚动事件(VPython)
- 11. SWT滚动条上的鼠标事件
- 12. jQuery的onclick事件鼠标滚动
- 13. Silverlight ListBox不滚动鼠标滚轮在Mac上运行
- 14. jQuery - 模拟鼠标滚动事件
- 15. 与滚动鼠标悬停事件
- 16. 滚动DIV平铺鼠标事件
- 17. 如何在发生鼠标滚动事件时作出响应?
- 18. 鼠标滚轮事件
- 19. 鼠标事件和动作事件
- 20. 如何使浮动div消耗所有鼠标滚动事件
- 21. 鼠标向下,鼠标移动和鼠标事件的图像?
- 22. 检测ListBox的滚动事件?
- 23. jquery动画水平滚动鼠标滚动事件
- 24. GMaps V3:如何取消鼠标滚动的事件,他们滚动地图
- 25. 如何使Flex只在鼠标滚动和键盘事件有用时消耗鼠标滚动和键盘事件,否则将它传递给浏览器?
- 26. 如何在keydown或keypress事件后禁用listbox的滚动事件?
- 27. 当使用任何带有滚动条的控件(ListBox,Panel,TextBox)和滚动条时,鼠标滚轮事件不会触发(在C#Windows窗体中)
- 28. 动态js滚动鼠标滚轮事件
- 29. 如何在Linux中读取鼠标和鼠标按下事件?
- 30. JS - 如何将事件从滚动发送到鼠标悬停
你需要重写ListBox控件和处理这个自己......不理想,但我不认为有任何其他方式! ''[ – MoonKnight