2013-03-01 113 views
0

我有一个拥有几列,其中一些不应该是选择给用户一个DataGrid(因为他们是只读反正)。 该列本身没有属性,显然我需要通过SelectedCellsChanged-Event来处理这个属性。WPF的DataGrid:让一整列不可选择

我可以使用IF语句找出一个小区对应的列是否是做这样的事情不可选:

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

如何保持细胞在此集合,从入门选择,但?

回答

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); 
     } 
    } 
} 
+0

如果您不希望有更多回复(它看起来足够合理),您应该将其标记为答案。 – 2013-03-01 15:27:50