C# 一个关于鼠标滚轮垂直滚动的错误
我面临着一个关于鼠标滚轮垂直滚动的问题C# 一个关于鼠标滚轮垂直滚动的错误,c#,wpf,scrollviewer,mousewheel,C#,Wpf,Scrollviewer,Mousewheel,我面临着一个关于鼠标滚轮垂直滚动的问题 <ListBox x:Class="mynamespace.MyListBox" PreviewMouseWheel="listBox_OnPreviewMouseWheel" ScrollViewer.ScrollChanged="scrollViewer_OnScrollChanged"> </ListBox> private void motionListBox_OnPreviewMous
<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
}
}
private void motionListBox_on PreviewMouseWheel(对象发送器,MouseWheelEventArgs e)
{
控制台写入线(e.Delta);
}
私有void scrollViewer_OnScrollChanged(对象发送方,ScrollChangedEventArgs e)
{
如果(例如垂直变化!=0.0)
{
//做一些关于垂直滚动的事情
}
}
当mouseweelleventargs
e.Delta
为负值时,ScrollChangedEventArgs e.VerticalChange
为正值时(向下滚动),当e.Delta
为正值时,e.VerticalChange
为负值时(向上滚动)
然而,在我的例子中,这有时是相反的,即即使e.Delta
是负的
,e.VerticalChange
是负的
,并且鼠标滚轮方向与垂直滚动方向不一致
只有当垂直滚动条位于垂直可滚动区域的中间时,才会发生这种情况
有谁能告诉我为什么会发生这种情况以及我如何处理