我需要以某種方式知道,如果用戶點擊或移動鼠標到列表框本身或者它的滾動條,但現在我總是得到消息,就像它發生在/在列表框中。如何辨別在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