1

我有一个绑定到 ListBox 源的 ObservableCollection。ListBox 使用 Style 在 ListBox 末尾显示一个按钮以“加载更多”内容。加载最后一个内容后,我更改了 ListBox 的样式,使其显示“没有更多帖子”。

问题是列表框在更改样式时会转到顶部(第一项)。有什么方法可以防止这种情况发生吗?

// iterate over items
foreach (Record rec in root.data.records)
{
    // add items to observablecollection
}

// check if there are more items
if (root.data.nextPage == 0)
{
    // there are no more items => set style with "no more posts"
    Dispatcher.BeginInvoke(() => listbox.Style = (Style)App.Current.Resources["listboxend"]);
    return;
}
else
{
    // there are still more items => set style with button
    Dispatcher.BeginInvoke(() => listbox.Style = (Style)this.Resources["listboxwithbutton"]);
}

奇怪的事情:一开始列表框没有样式。当我设置“listboxwithbutton”样式时,列表框不会到顶部......仅在设置“listboxend”样式时。

4

1 回答 1

0

ListBox.ScrollIntoView(listBoxItem)每当您更改样式时,您都可以使用滚动到 listBoxItem。假设现在您知道如何获得它。祝你好运。

于 2013-07-08T10:38:07.153 回答