如何更改DataGrid DataGridRow DataContext

时间:2014-01-15 14:01:25

标签: c# wpf datagrid

我需要在DataGrid中保存更改。事实上,在用户修改单元格值之后,旧值被最新的值替换,但是当我点击该单元格时,我得到了旧值。因此我认为在更改后保存Row DataContext。 请注意,我在DataGrid中插入了一个DataTable,这就是为什么我需要从代码后面更新DataContext。

        SelectedMaterial = materialName;
        var cellInfo = DataGridScenarios.CurrentCell;
        DataGridCell gridCell = TryToFindGridCell(DataGridScenarios, cellInfo);
        if (gridCell != null)
            gridCell.Content = SelectedMaterial;
        DataGridRow row = GetSelectedRow(DataGridScenarios);
        row.DataContext = ???????

请任何想法。

1 个答案:

答案 0 :(得分:0)

您无需更改DataContext,绑定基础结构的所有内容都不会“手动”更改值。

您仍然拥有旧值的原因是因为DataGrid的默认绑定行为是“ UpdateSourceTrigger ”设置为松散焦点,您需要将其更改为“ PropertyChanged ”在您的列/单元格定义(XAML)