WPF ListBox - 滚动始终位于顶部

时间:2010-10-18 14:44:51

标签: wpf listbox

我有一个显示一些单词的ListBox。在TextBox中输入单词,并在按钮单击时提交,它们将添加到ListBox。问题是,如果我添加很多单词,滚动总是在ListBox的顶部,所以我没有看到最后但第一个单词添加。有没有办法在每次添加单词时动态地将滚动移动到ListBox的末尾,所以最后添加的单词是否可见?

1 个答案:

答案 0 :(得分:1)

在这里,你应该做得很好......

public static void ScrollToBottom(this ListBox listbox)
{
    if (listbox == null) throw new ArgumentNullException("listbox", "Argument listbox cannot be null");
    if (!listbox.IsInitialized) throw new InvalidOperationException("ListBox is in an invalid state: IsInitialized == false");

    if (listbox.Items.Count == 0)
        return;

    listbox.ScrollIntoView(listbox.Items[listbox.Items.Count - 1]);
}

现在,给定任何ListBox我可以这样做: ListBox lb = ...;

lb.ScrollToBottom();