0

我有一个包含几列的 DataGrid,其中一些不应该可供用户选择(因为它们无论如何都是只读的)。列本身没有属性,显然我需要通过 SelectedCellsChanged-Event 来处理这个问题。

我可以使用 IF 语句通过执行以下操作来确定单元格的相应列是否不可选择:

private void chartDataGrid_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
    if (e.AddedCells[0].Column.Header.ToString() == "Non Selectable Column")
        {
            // What now?
        }
}

但是,如何防止该集合中的单元格被选中?

4

1 回答 1

1

好吧,我明白了。它可能不是完美的解决方案,但它对我来说完美无缺。即使有很多单元格,并且从包含应该可选择的单元格的多个列中选择单元格时。:)

private void chartDataGrid_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
    foreach (DataGridCellInfo cell in e.AddedCells)
    {
        if (cell.Column.Header.ToString() == "NonSelectableColumn")
        {
            MyDataGrid.SelectedCells.Remove(cell);
        }
    }
}
于 2013-03-01T11:44:43.010 回答