C# WP8 ScrollViewer滚动结束

C# WP8 ScrollViewer滚动结束,c#,windows-phone-8,C#,Windows Phone 8,有人能建议我如何在WindowsPhone8中确定scrollview的滚动结束吗?LayoutUpdated事件允许您确定滚动正在进行的时间,但没有允许确定滚动结束的事件 编辑:在短语“滚动结束”中有一些误解。我不需要确定用户滚动到scrollviewer末尾时的状态。我需要的是确定滚动的结束。它不取决于ScrolWiwer的哪个部分已经被滚动。使用ViewChanged属性而不是LayoutUpdate。下面是如何检测scrollviwer的结束 样本xaml <ScrollViewe

有人能建议我如何在WindowsPhone8中确定scrollview的滚动结束吗?LayoutUpdated事件允许您确定滚动正在进行的时间,但没有允许确定滚动结束的事件


编辑:在短语“滚动结束”中有一些误解。我不需要确定用户滚动到scrollviewer末尾时的状态。我需要的是确定滚动的结束。它不取决于ScrolWiwer的哪个部分已经被滚动。

使用ViewChanged属性而不是LayoutUpdate。下面是如何检测scrollviwer的结束

样本xaml

<ScrollViewer Name="scrollViewer" Height="200" ViewChanged="scrollViewer_ViewChanged">
        <StackPanel Name="canContentContaner" Height="auto" Background="Orange"                           Orientation="Vertical">
            <Button Height="60" Content="TEst button"></Button>
            <Button Height="60" Content="TEst button"></Button>
            <Button Height="60" Content="TEst button"></Button>
            <Button Height="60" Content="TEst button"></Button>
            <Button Height="60" Content="TEst button"></Button>
            <Button Height="60" Content="TEst button"></Button>
        </StackPanel>
    </ScrollViewer>

希望这有帮助。

使用ViewChanged属性而不是LayoutUpdate。下面是如何检测scrollviwer的结束

样本xaml

<ScrollViewer Name="scrollViewer" Height="200" ViewChanged="scrollViewer_ViewChanged">
        <StackPanel Name="canContentContaner" Height="auto" Background="Orange"                           Orientation="Vertical">
            <Button Height="60" Content="TEst button"></Button>
            <Button Height="60" Content="TEst button"></Button>
            <Button Height="60" Content="TEst button"></Button>
            <Button Height="60" Content="TEst button"></Button>
            <Button Height="60" Content="TEst button"></Button>
            <Button Height="60" Content="TEst button"></Button>
        </StackPanel>
    </ScrollViewer>

希望这能有所帮助。

这里有多种选择: Flick事件、操纵事件


检查我的答案这里有多个选项: Flick事件、操纵事件

检查我的答案

在中找到解决方案

可以检测到滚动结束:

group.CurrentStateChanging += (s, args) =>
                    {
                        if (args.OldState.Name == "Scrolling" && args.NewState.Name == "NotScrolling")
                        {

                            //Scroll end
                        }
                    };
找到解决办法

可以检测到滚动结束:

group.CurrentStateChanging += (s, args) =>
                    {
                        if (args.OldState.Name == "Scrolling" && args.NewState.Name == "NotScrolling")
                        {

                            //Scroll end
                        }
                    };


你检查过这个链接吗:?没有,我没有,但是根据用户的评论,链接中描述的机制是为listbox设计的,并且ScrollViwer有一些问题。此外,WP的使用版本是7。您是否检查过此链接:?没有,我没有
t,但根据用户的评论,链接中描述的机制是为listbox设计的,并且ScrollViwer存在一些问题。此外,使用的WP版本是7。我需要的是确定滚动的结束。我的意思是,你可以完成在StutPo盘的中间滚动。更新代码。现在它将确定滚动已经完成(请参阅ViewChanged事件处理程序)希望这有助于穆罕默德,我尝试了你的代码,但是ScrollViewer中没有这样的事件(ViewChanged)。是否需要导入/使用某些DLL/名称空间?上述解决方案适用于windows phone 8.1。我将检查windows phone 8的替代方案。我需要的是确定滚动的结束。我的意思是,你可以完成在StutPo盘的中间滚动。更新代码。现在它将确定滚动已经完成(请参阅ViewChanged事件处理程序)希望这有助于穆罕默德,我尝试了你的代码,但是ScrollViewer中没有这样的事件(ViewChanged)。是否需要导入/使用某些DLL/名称空间?上述解决方案适用于windows phone 8.1。我将检查windows phone 8的替代方案。对不起,我想我的问题不清楚。我不需要实现延迟加载机制,也不需要确定用户滚动到scrollviewer末尾时的状态。我需要的是确定滚动何时结束。滚动可以在滚动条的任何位置完成。哦……在这种情况下,你可以使用Flick事件……你可以在其处理程序中获得滚动位置的偏移量,通过使用VerticalVelocity值,你可以处理我尝试过的位置,但问题是,你可以不停地滚动scrollviewer,并通过做几十个手势。我使用的事件是“MouseLeave”。不需要MouseLeave。检查这些和。你关于Flick事件的想法将被清除。对不起,我想我的问题不清楚。我不需要实现延迟加载机制,也不需要确定用户滚动到scrollviewer末尾时的状态。我需要的是确定滚动何时结束。滚动可以在滚动条的任何位置完成。哦……在这种情况下,你可以使用Flick事件……你可以在其处理程序中获得滚动位置的偏移量,通过使用VerticalVelocity值,你可以处理我尝试过的位置,但问题是,你可以不停地滚动scrollviewer,并通过做几十个手势。我使用的事件是“MouseLeave”。不需要MouseLeave。检查这些和。你与Flick事件相关的想法将被清除。如何检测它是否滚动到顶部或底部?以及如何检测它是否滚动到顶部或底部?