当鼠标悬停在GridView上时启用滚动

时间:2012-10-02 16:43:11

标签: xaml microsoft-metro windows-runtime winrt-xaml

我有以下XAML布局:

<ScrollViewer>
    <Grid>
         <GridView/>
         // several gridviews with other data and other controls
    </Grid>
</ScrollViewer>

当鼠标位于GridView之外时,布局是水平的并且滚动有效。就在鼠标悬停GridView的那一刻,滚动停止并仅在鼠标离开GridView时继续。我该如何解决这个问题呢?

2 个答案:

答案 0 :(得分:3)

鼠标滚动事件被网格视图中使用的滚动查看器吃掉。要避免这种情况,只需将网格视图的模板修改为如下所示(从网格视图中删除内置滚动查看器)。

         <Style TargetType="GridView" x:Key="GridViewStyle">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>
                        <ItemsPresenter Margin="{TemplateBinding Padding}"/>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

答案 1 :(得分:1)

你不能将GridViews放在ScrollViewer中!那会有所帮助。使用带有组的单个GridView或带有WrapGrids的水平定向StackPanel的ScrollViewer。