125

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

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

4

4 回答 4

281

WPFDataGrid有一个IsReadOnly属性,您可以设置它True以确保用户无法编辑您DataGrid的单元格。

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

于 2011-07-20T18:15:58.340 回答
47

DataGrid 有一个 XAML 属性IsReadOnly,您可以将其设置为true

<my:DataGrid
    IsReadOnly="True"
/>
于 2012-08-09T21:05:19.377 回答
4

如果要禁用编辑整个网格,可以在网格上将 IsReadOnly 设置为 true。如果要禁止用户添加新行,请设置属性 CanUserAddRows="False"

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

此外,您可以在各个列上设置 IsReadOnly 以禁用编辑。

于 2017-10-01T05:07:26.097 回答
4

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

<DataGrid IsReadOnly="False">
    <DataGrid.Columns>
        <DataGridTextColumn IsReadOnly="True"/>
        <DataGridTextColumn IsReadOnly="True"/>
    </DataGrid.Columns>
</DataGrid>
于 2019-10-17T08:35:03.940 回答