2
我裏面滾動的ScrollViewer列表框
XAML:如何使用鼠標滾輪
<ScrollViewer HorizontalAlignment="Center" PreviewMouseWheel="myScrollViewer_PreviewMouseWheel" Name="myScrollViewer" VerticalScrollBarVisibility="Disabled" HorizontalScrollBarVisibility="Auto">
<Grid Width="1200">
<ListBox ScrollViewer.VerticalScrollBarVisibility="Visible" MouseMove="listbox_MouseMove" Background="AliceBlue" Height="350" Width="200" HorizontalAlignment="Center" Name="listbox"/>
</Grid>
</ScrollViewer>
CS:
private void myScrollViewer_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
{
if (e.Delta < 0) // wheel down
{
if (myScrollViewer.HorizontalOffset + e.Delta > 0)
{
myScrollViewer.ScrollToHorizontalOffset(myScrollViewer.HorizontalOffset + e.Delta);
}
else
{
myScrollViewer.ScrollToLeftEnd();
}
}
else //wheel up
{
if (myScrollViewer.ExtentWidth > myScrollViewer.HorizontalOffset + e.Delta)
{
myScrollViewer.ScrollToHorizontalOffset(myScrollViewer.HorizontalOffset + e.Delta);
}
else
{
myScrollViewer.ScrollToRightEnd();
}
}
}
現在的鼠標滾輪事件的ScrollViewer滾動時,如果我的鼠標越過列表框。我想要:如果我的鼠標移過列表框並停留一段時間(可能是1秒或2秒),滾動應移動到列表框。如果鼠標不停留在ListBox上(1或2秒),則滾動不應移動到ListBox。 ScrollViewer中可能有多個ListBox。
框滾動沒有與鼠標滾輪的工作,甚至它得到了一個焦點 – 2015-02-23 09:21:06