wpf数据网格选择已更改

时间:2010-07-04 14:32:57

标签: wpf listview datagrid

我曾经使用listview获得以下代码:

private void ListViewSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            foreach (Exam exam in e.RemovedItems)
            {
                ViewModel.SelectedExams.Remove(exam);
            }
            foreach (Exam exam in e.AddedItems)
            {
                ViewModel.SelectedExams.Add(exam);
            }
        }

现在我改为数据网格,但是我收到一条错误消息:错误1'System.EventArgs'不包含'RemovedItems'的定义,也没有扩展方法'RemovedItems'接受类型'的第一个参数可以找到System.EventArgs'(您是否缺少using指令或程序集引用?)

private void DataGridSelectionChanged(object sender, EventArgs e)
    {
        foreach (Exam exam in  e.RemovedItems)
        {
            ViewModel.SelectedExams.Remove(exam);
        }
        foreach (Exam exam in e.AddedItems)
        {
            ViewModel.SelectedExams.Add(exam);
        }
    }

任何人都可以通过告诉我如何捕获数据网格中的选定行来帮助我,就像我在listview中捕获它们一样。

2 个答案:

答案 0 :(得分:1)

DataGrid的SelectionChanged事件接受SelectionChangedEventArgs作为参数(与ListView的SelectionChanged事件相同),而不是基础EventArgs

private void DataGridSelectionChanged(object sender, SelectionChangedEventArgs e)

此处e.RemovedItemse.AddedItems可用。

答案 1 :(得分:0)

SelectionChanged甚至没有为我开火,

或许试试SelectedCellsChanged? - WPF Datagrid: SelectionChanged event isn't raised when SelectionUnit="Cell"

的更多信息

有关MSDN论坛上的SelectionChanged的更多信息 - http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/e1dc5abc-2f94-4653-a0a8-ee9b6adcb165

同时获取所选单元格的值WPF Toolkit DataGrid SelectionChanged Getting Cell Value