Code Bye

wpf的datagrid选择行的行号

各位高手,用的是WPF的datagrid写的表格,想问一下,点击的时候只需要选中单元格就行,所以本人用了SelectionUnit=”CellOrRowHeader”这个属性,这样点击的时候就只选中单元格而不是选中的行,但是这样就不能获取当前选择的单元格所在的行号,SelectionChanged事件也得不到行号,怎么才能得到这个行号,谢谢给位高手!
解决方案

50

用 SelectedCellsChanged 事件获取
private void dataGrid_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
    if (dataGrid.SelectedCells.Count == 0)
        return;
    var items = dataGrid.SelectedCells
        .Select(s => s.Item)
        .Distinct()
        .ToArray();
    var lineNumbers = items
        .Select(s => dataGrid.Items.IndexOf(s));
    Console.WriteLine(string.Join(",", lineNumbers));
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明wpf的datagrid选择行的行号