首先,设置正常的scrollViewer,里面套一个Grid
<ScrollViewer x:Name="sv"
HorizontalScrollBarVisibility="Hidden"
VerticalScrollBarVisibility="Hidden"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
Grid.Row="1"
Height="33"
Grid.Column="0" >
<Grid x:Name="appTabControl"
VerticalAlignment="Stretch" MouseWheel="appTabControl_MouseWheel"
Height="33"
>
</Grid>
</ScrollViewer>
然后,根据鼠标滚轮事件的delta参数来设置scrollViewer的ScrollToHorizontalOffset方法来进行移动,注意:鼠标滚轮事件必须是Grid的,如果是ScrollViewer的鼠标滚轮事件则无作用。
private void appTabControl_MouseWheel(object sender, MouseWheelEventArgs e)
{
//sv是scrollViewer
sv.ScrollToHorizontalOffset(-e.Delta);
}
参数e.Delta可以根据开发需要来设置正负号,进行滚轮方向的调整。
懒得弄gif,没有效果演示