WPF工具包:如何​​滚动数据网格以显示代码后面的选定项目?

时间:2009-12-31 10:37:53

标签: wpf scroll datagrid selection wpftoolkit

我尝试了以下操作,所有这些都在函数ScrollIntoView上失败并给出NullReferenceException:

// doesn't work
grid.SelectedItem = sItem;
grid.ScrollIntoView(sItem);

// doesn't work
grid.SelectedItem = sItem;
grid.Focus();
grid.CurrentColumn = grid.Columns[0];
grid.UpdateLayout();
grid.ScrollIntoView(sItem,grid.Columns[0]);

// doesn't work
grid.SelectedItem = sItem;
grid.UpdateLayout();
grid.ScrollIntoView(sItem);

问题是,当我从代码隐藏中选择一行时,选择不可见 - 它位于底部的某个位置。除非用户滚动,否则他们会觉得选择已经消失。我需要将DataGrid滚动到用户可以看到选择的位置。

我也试过“BringIntoView”,但没有运气。

2 个答案:

答案 0 :(得分:40)

尝试:

grid.SelectedItem = sItem; 
grid.UpdateLayout();
grid.ScrollIntoView(grid.SelectedItem);

答案 1 :(得分:6)

虚拟化堆栈面板没有项目容器,因为视图外部的项目不存在项目容器,这就是显示此错误的原因。禁用虚拟化目前解决了这个问题,并且已经将错误报告给了codeplex工具包项目。

相关问题