wpf datagrid在单个单元格中更新全行编辑

问题描述:

我有一个datagrid绑定到可观察集合,当我尝试编辑单元格时,整个行也被编辑了。我已经尝试了很多东西已经无济于事。我甚至硬编码了一个特定的索引,以便只有选中的单元格得到更新。下面的代码让我看到确切的单元格,但仍然更新整行。我能做什么?wpf datagrid在单个单元格中更新全行编辑

<DataGrid Name="timetableGrid" AutoGenerateColumns="True" SelectionMode="Single" GridLinesVisibility="None" 
         CellEditEnding="timetableGrid_CellEditEnding" ItemsSource="{Binding Path=TimetableControlDetailsData, Mode=OneWay, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}" 
        IsSynchronizedWithCurrentItem="False" SelectionUnit="Cell" CurrentCell="{Binding CellInfo, Mode=OneWayToSource}" > 

       </DataGrid> 



private DataGridCellInfo _cellInfo; 
public DataGridCellInfo CellInfo 
{ 
    get { return _cellInfo; } 
    set 
    { 
     _cellInfo = value; 
     OnPropertyChanged("CellInfo"); 
    } 
} 

private void timetableGrid_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e) 
{ 
     var test = _vm.CellInfo; 
     var test1 = test.Item as TimetableControlDetail; 

     var xs = _vm.TimetableControlDetailsData.Where(c => c.DayID == test1.DayID && c.PeriodID == test1.PeriodID).ToList(); 
     var x = _vm.TimetableControlDetailsData.Where(c => c.DayID == test1.DayID && c.PeriodID == test1.PeriodID).FirstOrDefault(); 
     x.ClassInstanceDetail.ClassName = "excellent!"; 
} 

通过cellediting事件会后,在cellediting上面的代码给我的只有1项变种X,但整行文字被更新为优!太。我只想改变确切的当前细胞。谢谢

这不是一个完美的解决方案。但是,为什么你不尝试去掉整行更新一个单元,但它回来了?