Я понимаю, что вы можете сделать готовым только весь DataGrid или целый столбец (IsReadOnly = true). Однако на уровне ячейки это свойство готово только. Но мне действительно нужен такой уровень детализации. Есть блог о добавлении IsReadOnly в строку путем изменения исходного кода в старые времена, когда DataGrid был общественным достоянием, но теперь у меня нет исходного кода для DataGrid. Какой' s обходной путь?
Отключение ячейки (IsEnabled = false) почти удовлетворяет мою потребность. Но проблема в том, что вы не можете даже щелкнуть отключенную ячейку, чтобы выбрать строку (у меня есть режим полного выбора строки).
РЕДАКТИРОВАТЬ: Поскольку никто не ответил на этот вопрос, я думаю, это непростое решение. Вот возможный обходной путь: сделайте ячейку недоступной для редактирования. Единственная проблема в том, что щелчок по ячейке не выбирает строку. Я только что заметил, что событие MouseDown или MouseUp DataGrid по-прежнему запускается при нажатии отключенной ячейки. В этом обработчике событий, если бы я мог определить строку, по которой он щелкнул, я мог бы выбрать строку программно. Однако я не мог понять, как найти нижележащую строку из DataGrid.InputHitTest
. Может кто-нибудь дать мне совет?