Как отключить редактирование ячеек в WPat Datagrid?
Я создаю datagrid в Windows Presentation Foundation, и у меня есть проблема. Когда пользователь дважды щелкает по ячейке в моем datagrid, ячейка переходит в режим редактирования. Я хочу это предотвратить. Вместо этого я хочу, чтобы пользователи могли выбирать в нем полную строку, а не редактировать значения.
Как я могу сделать так, чтобы двойные щелчки выбирали полную строку вместо того, чтобы помещать нажатую кнопку в режиме редактирования?
Ответы
Ответ 1
WPF DataGrid
имеет свойство IsReadOnly
, которое вы можете установить в True
, чтобы пользователи не могли редактировать ваши ячейки DataGrid
.
Вы также можете установить это значение для отдельных столбцов в DataGrid
по мере необходимости.
Ответ 2
У DataGrid есть свойство XAML IsReadOnly
, которое вы можете установить на true
:
<my:DataGrid
IsReadOnly="True"
/>
Ответ 3
Если вы хотите отключить редактирование всей сетки, вы можете установить IsReadOnly в true в сетке.
Если вы хотите отключить пользователя для добавления новых строк, вы устанавливаете свойство CanUserAddRows = "False"
<DataGrid IsReadOnly="True" CanUserAddRows="False" />
Кроме того, вы можете установить IsReadOnly на отдельные столбцы, чтобы отключить редактирование.
Ответ 4
Я вижу, что пользователи в комментариях задаются вопросом, как отключить редактирование ячеек и разрешить удаление строк: мне удалось сделать это, настроив все столбцы по отдельности только для чтения, вместо самой DataGrid.
<DataGrid IsReadOnly="False">
<DataGrid.Columns>
<DataGridTextColumn IsReadOnly="True"/>
<DataGridTextColumn IsReadOnly="True"/>
</DataGrid.Columns>
</DataGrid>