我遇到了与鼠标滚轮垂直滚动的问题。
<ListBox x:Class="mynamespace.MyListBox"
PreviewMouseWheel="listBox_OnPreviewMouseWheel"
ScrollViewer.ScrollChanged="scrollViewer_OnScrollChanged">
</ListBox>
private void motionListBox_OnPreviewMouseWheel(object sender, MouseWheelEventArgs e)
{
Console.WriteLine(e.Delta);
}
private void scrollViewer_OnScrollChanged(object sender, ScrollChangedEventArgs e)
{
if (e.VerticalChange != 0.0)
{
// Do something regarding vertical scroll
}
}
当MouseWheelEventArgs
e.Delta
为negative
时,ScrollChangedEventArgs e.VerticalChange
为positive
(向下滚动),e.Delta
为positive
时,e.VerticalChange
为negative
(向上滚动)。
但是,在我的情况下,这有时相反,即使e.Delta
为negative
,e.VerticalChange
为negative
,鼠标滚轮方向也不一致垂直滚动方向。
仅当垂直滚动条位于垂直可滚动区域的中间时才会发生这种情况。
有谁能告诉我为什么会发生这种情况以及如何处理它?</ p>