如何以编程方式滚动WPF ListBox一个项目?

时间:2013-03-20 20:30:27

标签: c# wpf listbox scroll

我在WPF中有一个ListBox,我将歌曲,艺术家,专辑和播放列表加载到其中。

例如,当我点击艺术家按钮时,我会为每个艺术家填充列表框。

当我点击艺术家时,它会加载该艺术家的歌曲。相册也一样。

有向上和向下按钮滚动列表框,自动选择条目并按如下方式向上和向下滚动:

private void FileNavDown_Click(object sender, RoutedEventArgs e)
{
    if (MediaList.SelectedIndex < MediaList.Items.Count)
    {
        MediaList.SelectedIndex++;
        MediaList.ScrollIntoView(MediaList.SelectedItem);
    }
}

也许你已经看到了我的问题。我无法使用这些按钮滚动浏览我的艺术家,专辑或播放列表,因为他们会自动选择下一个条目,然后填充歌曲。

你认为当我处于艺术家的类别时不应该选择它应该很简单,然后滚动查看选定的项目+ 1,确定,这确实有效,但是当滚动时,因为在条目正上方已经在视图中,滚动到视图不会对用户显示任何内容。我必须先点击五次才能滚动查看5个条目的条目,这在以前是不可见的。

那么,简单的修复?我不想太多地改变结构,也许我只是需要一些东西来检测视图是否完全滚动。如果没有,我可以再次递增/递减滚动索引,并将其滚动到视图中直到它发生变化。

0 个答案:

没有答案