0

我正在开发一个验证DataGridWPF 中的单元格的应用程序。例如,如果单元格中有错误,我正在使单元格可编辑。但是,更改的数据没有绑定到数据网格的ItemsSource. 以下是我用来在出现错误时使单元格可编辑的代码:

DataGridRow gridRow = dgInventory.ItemContainerGenerator.ContainerFromIndex(row) as DataGridRow;

if (gridRow != null)
{
    DataGridCell cell = dgInventory.Columns[column].GetCellContent(gridRow).Parent as DataGridCell;

    cell.BorderBrush = Brushes.Red;
    cell.IsEditing = true;

    cell.ToolTip = tooltip;
}

一旦网格加载到页面中,我现在可以编辑有错误的单元格。但是,当我访问 时ItemsSourceDataGrid它仍然显示相同的旧数据。XAML 中的DataGrid代码是这样的:

<DataGrid Name="dgInventory" ScrollViewer.CanContentScroll="False" IsManipulationEnabled="True" CellEditEnding="dgInventory_CellEditEnding" IsReadOnly="True" />

能否请您提供一种方法来编辑DataGrid. 提前谢谢你。

4

1 回答 1

0

也许有问题IsReadOnly="True"?尝试

DataGridRow gridRow = dgInventory.ItemContainerGenerator.ContainerFromIndex(row) as DataGridRow;

if (gridRow != null)
{
    DataGridCell cell = dgInventory.Columns[column].GetCellContent(gridRow).Parent as DataGridCell;

    cell.BorderBrush = Brushes.Red;
    cell.IsEditing = true;
    dgInventory.IsReadOnly = false;

    cell.ToolTip = tooltip;
}

并且比在 dgInventory_CellEditEnding 集中:

...
IsReadOnly = true;
...
于 2013-07-23T11:11:03.287 回答