我有以下 XAML 布局:
<ScrollViewer>
<Grid>
<GridView/>
// several gridviews with other data and other controls
</Grid>
</ScrollViewer>
当鼠标在 GridView 之外时,布局是水平的并且可以滚动。就在鼠标悬停在 GridView 的那一刻,滚动停止并仅在鼠标离开 GridView 时继续。我该如何解决这个问题?
我有以下 XAML 布局:
<ScrollViewer>
<Grid>
<GridView/>
// several gridviews with other data and other controls
</Grid>
</ScrollViewer>
当鼠标在 GridView 之外时,布局是水平的并且可以滚动。就在鼠标悬停在 GridView 的那一刻,滚动停止并仅在鼠标离开 GridView 时继续。我该如何解决这个问题?
鼠标滚动事件被网格视图中使用的滚动查看器吃掉了。为了避免这种情况,只需将网格视图的模板修改为如下所示(从网格视图中删除内置的滚动查看器)。
<Style TargetType="GridView" x:Key="GridViewStyle">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<ItemsPresenter Margin="{TemplateBinding Padding}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
你不能将 GridViews 放在 ScrollViewer 中!那会有所帮助。使用带有组的单个 GridView 或带有 WrapGrids 的水平方向的 StackPanel 的 ScrollViewer。