1

可能重复:
设置列表框的滚动条位置

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

4

3 回答 3

4

您可以简单地使用ScrollIntoView方法:

object item = ...
listBox.Items.Add(item);
listBox.ScrollIntoView(item);
于 2013-01-14T12:08:53.097 回答
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);
于 2013-01-14T12:10:21.510 回答
0

您可以使用本文中解释的想法以与 MVVM 对齐的方式执行操作- 只需映射到 ListViewItem 而不是 TreeViewItem(而不是 IsSelected 作为触发器,您可以将其设置为要添加的新项目)。

于 2013-01-14T12:17:58.677 回答