Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows Phone 8的ScrollViewer事件_C#_Xaml_Windows Phone 8_Listbox_Scrollviewer - Fatal编程技术网

C# Windows Phone 8的ScrollViewer事件

C# Windows Phone 8的ScrollViewer事件,c#,xaml,windows-phone-8,listbox,scrollviewer,C#,Xaml,Windows Phone 8,Listbox,Scrollviewer,我有一个列表框。列表框项目可以是图像、文本、音频、视频等。这些项目是通过互联网获取的,有时列表会变得太长。我想在我的列表框中实现一个“登顶”功能,这在许多网站中都有使用。一旦用户开始滚动,就会出现一个按钮,将他们带到顶部,如果他们滚动回顶部,按钮就会消失 问题是我不知道该怎么办。如果我禁用列表框的scrollviewer并将列表框放入scrollviewer中,那么我不知道应该使用scrollviewer的哪些事件和属性?我真的不知道为什么要使用RadDataBoundListBox(也许您需要

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


问题是我不知道该怎么办。如果我禁用列表框的scrollviewer并将列表框放入scrollviewer中,那么我不知道应该使用scrollviewer的哪些事件和属性?

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

TopVisibleItem
:此属性获取当前实现的顶级vieport项。此项可用于查找用户滚动之前的索引。因此,如果索引是25,您可能希望显示“滚动到顶部”按钮。
BringIntoView
:此方法可在“滚动到顶部”按钮的单击事件中使用。只需将索引0处的项作为参数传递


希望这能解决问题。

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

大概是这样的:

private void RadDataBoundListBox_ScrollStateChanged(object sender, ScrollStateChangedEventArgs e)
{
    if (e.NewState == ScrollState.Scrolling)
    {
        // Code to show the ScrollToTop button
    }
}
您可以使用不同的ScrollState在不同的时间显示和隐藏ScrollToTop按钮。(即,当NewState==ScrollState.TopStretch时,可以隐藏该按钮。)

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

RadDataBoundListBox.BringIntoView(BoundObservableCollection[0]);
我希望这有帮助。 谢谢
约书亚

谢谢。但是我应该在哪里使用TopVisibleItem?@Code4A我想到了一些事情。滚动停止。操作已完成。抱歉,现在情况有点变化。首先,我必须删除ScrollViewer。看见第二,在
TopVisibleItem
中,没有什么比索引更适合我使用的了。我想你可以帮我。但现在你需要彻底了解这个问题。谢谢你,谢谢约书亚。但是现在我没有使用RadDataBoundListBox,所以我现在会找到自己的方法(至少现在我有了实现它的想法)。你好,阿娜。