检测UWP应用中的滚动方向

时间:2017-01-31 16:48:15

标签: uwp scrollviewer direction

我正在用C#开发一个UWP应用程序,并使用ScrollViewer滚动一些内容。当用户垂直滚动时,我想知道是否有办法检测用户是从上到下还是从下到上滚动(即滚动方向)?

1 个答案:

答案 0 :(得分:3)

如果值增加,用户从上到下滚动,您可以从ScrollViewer的VerticalOffset属性中获取帮助来检测移动。如果值正在减小,则用户从下往上滚动。您可以侦听ScrollViewer的ViewChanged事件并执行必要的逻辑。下面是样本绑定以证明这个想法。

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Grid.RowDefinitions>
        <RowDefinition Height="50"/>
        <RowDefinition/>
    </Grid.RowDefinitions>
    <TextBlock VerticalAlignment="Center" Text="{Binding VerticalOffset, ElementName=tst,Mode=OneWay}"/>

    <ScrollViewer Grid.Row="1" x:Name="tst" ViewChanged="tst_ViewChanged">
        <StackPanel Background="Gray" Height="2500">
        </StackPanel>
    </ScrollViewer>
</Grid>

输出:enter image description here