2010-10-18 92 views
1

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

回答

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中我可以这样做: 列表框磅= ...;

lb.ScrollToBottom(); 
+0

它完美的工作!谢谢! – sokolovic 2010-10-18 15:10:49

+0

我的荣幸,很高兴帮助! – 2010-10-18 15:37:40