在网格上,我有一个ListBox和一个按钮。如果单击该按钮,则会将项目添加到列表框中。
我正在尝试修复的问题是,在添加项目后,它没有聚焦。
我想自动向下滚动列表框,以便用户可以看到最近添加的项目。有什么想法吗?
答案 0 :(得分:2)
您可以设置SelectedIndex属性以设置当前选定的项目。
如果它滚动页面,您可以使用ScrollIntoView()来显示列表的底部。
listBox1.SelectedIndex = listBox1.Items.Count;
listBox1.ScrollIntoView(listBox1.SelectedItem);
答案 1 :(得分:2)
我不得不强制调用ScrollIntoView
进入UI线程,这似乎可以解决问题。
以下是此工作的一个示例。一个 dd这是新DataBound应用程序中应用程序栏图标按钮单击事件的事件处理程序。
private void ApplicationBarIconButton_Click(object sender, EventArgs e)
{
App.ViewModel.Items.Add(new ItemViewModel
{
LineOne = "new L1",
LineTwo = "new L2",
LineThree = "new L3"
});
Dispatcher.BeginInvoke(() =>
MainListBox.ScrollIntoView(MainListBox.Items.Last()));
}