ScrollViewer events for Windows Phone 8

本文关键字:Phone Windows for events ScrollViewer | 更新日期: 2023-09-27 18:11:11

我有一个列表框。列表框的项目可以是图像,文本,音频,视频等。项目是通过互联网获取的,有时列表会变得太长。我想在我的列表框中实现一个"到顶"功能,这些功能在许多网站中使用。当用户开始滚动时,出现一个按钮,将他们带到顶部,如果他们滚动到顶部,按钮就消失了。

问题是我不知道该做什么。如果我禁用列表框的滚动查看器并将列表框放入滚动查看器中,那么我不知道应该使用哪个滚动查看器的事件和属性?

ScrollViewer events for Windows Phone 8

您可以使用RadDataboundListBox上的ScrollStateChanged事件来查看列表框是否正在滚动。如果是,则可以显示ScrollToTop按钮。

像这样:

private void RadDataBoundListBox_ScrollStateChanged(object sender, ScrollStateChangedEventArgs e)
{
    if (e.NewState == ScrollState.Scrolling)
    {
        // Code to show the ScrollToTop button
    }
}

您可以使用不同的ScrollStates在不同的时间显示和隐藏ScrollToTop按钮。(即当NewState == ScrollState。TopStretch,你可以隐藏按钮)

如果你要绑定到ListBox的ItemsSource,你可以使用上面提到的BringIntoView方法。

RadDataBoundListBox.BringIntoView(BoundObservableCollection[0]);

我希望这对你有帮助。谢谢,约书亚

我真的不确定您为什么要使用RadDataBoundListBox(也许您需要虚拟化),但是这里有一些有用的成员。完整列表可在此处找到。

TopVisibleItem:此属性获取当前实现的top vieport项。此项可用于查找用户滚动到的索引。如果索引是25,你可能想要显示滚动到顶部按钮。
BringIntoView:此方法可用于点击事件的"滚动到顶部"按钮。只需将索引为0的项作为参数传递。

希望这能解决问题