Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 一个关于鼠标滚轮垂直滚动的错误_C#_Wpf_Scrollviewer_Mousewheel - Fatal编程技术网

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
负的
,并且鼠标滚轮方向与垂直滚动方向不一致

只有当垂直滚动条位于垂直可滚动区域的中间时,才会发生这种情况

有谁能告诉我为什么会发生这种情况以及我如何处理