WPF DataGrid:使整个列无法选择

时间:2013-03-01 11:33:58

标签: wpf datagrid

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

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

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

如何保持此集合中的单元格不被选中?

1 个答案:

答案 0 :(得分: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);
        }
    }
}