如何将WPF列表框滚动条位置设置为最后添加的项目?
答案 0 :(得分:4)
您只需使用ScrollIntoView方法:
object item = ...
listBox.Items.Add(item);
listBox.ScrollIntoView(item);
答案 1 :(得分:1)
在WPF中,您必须使用ScrollIntoView
。
我添加了这个例子:
int i = 0;
private void button1_Click(object sender, RoutedEventArgs e)
{
listBox1.Items.Add("Item nr. " + i.ToString());
listBox1.ScrollIntoView("Item nr. " + i.ToString());
i++;
}
在Windows窗体中,您有:
int visibleItems = myListBox.ClientSize.Height / myListBox.ItemHeight;
myListBox.TopIndex = Math.Max(myListBox.Items.Count - visibleItems + 1, 0);
答案 2 :(得分:0)
你可以使用this post中解释的思想以MVVM对齐的方式完成它 - 只需映射到ListViewItem而不是TreeViewItem(而不是IsSelected是触发器,你可以将它设置为新项目被添加)。