设置列表框的滚动条位置

时间:2013-01-14 12:01:44

标签: c# wpf listbox

  

可能重复:
  Setting the scrollbar position of a ListBox

如何将WPF列表框滚动条位置设置为最后添加的项目?

3 个答案:

答案 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是触发器,你可以将它设置为新项目被添加)。