0
私は観測可能なコレクションにバインドされたデータグリッドを持っています。セルを編集しようとすると、行全体も編集されます。私はすでに役に立たないことをたくさん試しました。私は選択されたセルだけが更新されるように特定のインデックスをハードコードしました。以下のコードは私を正確なセルにしますが、行全体を更新します。私に何ができる?wpf datagrid single cell編集でフル行を更新
<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項目VAR xを与えるが、行全体のテキストが優れに更新されます!あまりにも。私は正確な現在のセルを変更したいだけです。ありがとう