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 に答える