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,但整行文字被更新为优!太。我只想改变确切的当前细胞。谢谢
答
这不是一个完美的解决方案。但是,为什么你不尝试去掉整行更新一个单元,但它回来了?