先看一段Xaml代码:
<Grid x:Name="LayoutRoot" Background="White">
<ScrollViewer>
<StackPanel Name="stackPanel1">
<Button Content="Button 1" Width="150" />
<Button Content="Button 2" Width="150" Margin="0,20,0,0" />
<Button Content="Button 3" Width="150" Margin="0,20,0,0" />
<Button Content="Button 4" Width="150" Margin="0,20,0,0" />
<Button Content="Button 5" Width="150" Margin="0,20,0,0" />
<Button Content="Button 6" Width="150" Margin="0,20,0,0" />
<Button Content="Button 7" Width="150" Margin="0,20,0,0" />
</StackPanel>
</ScrollViewer>
</Grid>
运行后会发现混动鼠标滚轮时,页面不能正常滚动,只有在“Button 1”等按钮文字上面,滚轮才生效。
解决方法:
增加ScrollViewer Background="Transparent"属性
<Grid x:Name="LayoutRoot" Background="White">
<ScrollViewer Background="Transparent">
<StackPanel Name="stackPanel1">
<Button Content="Button 1" Width="150" />
<Button Content="Button 2" Width="150" Margin="0,20,0,0" />
<Button Content="Button 3" Width="150" Margin="0,20,0,0" />
<Button Content="Button 4" Width="150" Margin="0,20,0,0" />
<Button Content="Button 5" Width="150" Margin="0,20,0,0" />
<Button Content="Button 6" Width="150" Margin="0,20,0,0" />
<Button Content="Button 7" Width="150" Margin="0,20,0,0" />
</StackPanel>
</ScrollViewer>
</Grid>
鼠标在在ScrollViewer 元素内任意位置,滚动滚轮,一切正常!
问题解决!