如何禁用 WPF Datagrid 中的编辑单元格?

我在 WindowsPresentationFoundation 中构建数据网格,遇到了一个问题。当用户在我的 datagrid 中双击某个单元格时,该单元格进入编辑模式。我想阻止这一切。相反,我希望用户能够选择完整的行-而不是编辑其中的值。

如何使双击选择整行而不是将单击单元格置于编辑模式?

115856 次浏览

WPF DataGrid有一个 IsReadOnly属性,可以将其设置为 True,以确保用户不能编辑 DataGrid的单元格。

还可以根据需要为 DataGrid中的各列设置此值。

DataGrid 有一个可以设置为 true的 XAML 属性 IsReadOnly:

<my:DataGrid
IsReadOnly="True"
/>

如果要禁用编辑整个网格,可以在网格上将 IsReadOnly 设置为 true。 如果希望禁用 user 添加新行,可以设置属性 CanUserAddRows = “ False”

<DataGrid IsReadOnly="True" CanUserAddRows="False" />

此外,还可以对单个列设置 IsReadOnly 以禁用编辑。

我在评论中看到用户想知道如何在允许删除行的同时禁用单元格编辑: 我设法通过将所有列分别设置为只读而不是 DataGrid 本身来做到这一点。

<DataGrid IsReadOnly="False">
<DataGrid.Columns>
<DataGridTextColumn IsReadOnly="True"/>
<DataGridTextColumn IsReadOnly="True"/>
</DataGrid.Columns>
</DataGrid>