在DataGrid中选择一行,并使用行索引从中获取值

时间:2015-01-27 08:07:37

标签: c# wpf datagrid

我有一个包含大约500个项目的DataGrid。用户可以加载更多项目,因此我更改了DataGrid.ItemsSource。当发生这种情况时,我会失去对所选行的关注,但我之前得到了行索引。

我现在如何将焦点设置在带索引的行上?

我正在使用WPF和C#与EF6.1

代码示例:

<DataGrid Name="MainDataGrid" SelectionChanged="MainDataGrid_SelectionChanged"                      SelectionMode="Single" IsSynchronizedWithCurrentItem="True">
    <DataGrid.Columns>
         <DataGridTextColumn Header="Date" Binding="{Binding Date}"></DataGridTextColumn>
                //...
    </DataGrid.Columns>    
</DataGrid>

1 个答案:

答案 0 :(得分:0)

您可以通过分配以编程方式执行此操作 datagrid的SelectedIndex属性的索引值:

MainDataGrid.SelectedIndex = yourIndex;

此外,您可能希望将datagrid滚动到索引处的项目:

MainDataGrid.ScrollIntoView(MainDataGrid.Items[yourIndex]);

查看this问题可能会很有趣。