[wpf] WPF Datagrid에서 셀 편집을 비활성화하려면 어떻게해야합니까?

Windows Presentation Foundation에서 데이터 그리드를 구성하고 있는데 문제가 있습니다. 사용자가 내 데이터 그리드의 셀을 두 번 클릭하면 셀이 편집 모드로 전환됩니다. 나는 그것을 막고 싶다. 대신 사용자가 행의 값을 편집하지 않고 전체 행을 선택할 수 있기를 바랍니다.

두 번 클릭하면 클릭 한 셀을 편집 모드에 두는 대신 전체 행을 선택하도록하려면 어떻게해야합니까?



답변

WPF DataGrid에는 사용자가 의 셀을 편집 할 수 없도록 IsReadOnly설정할 수 있는 속성이 있습니다 .TrueDataGrid

DataGrid필요에 따라의 개별 열에 대해이 값을 설정할 수도 있습니다 .


답변

DataGrid에는 IsReadOnly다음과 true같이 설정할 수 있는 XAML 속성 이 있습니다 .

<my:DataGrid
    IsReadOnly="True"
/>


답변

전체 그리드 편집을 비활성화하려면 그리드에서 IsReadOnly를 true로 설정할 수 있습니다. 사용자가 새 행을 추가하지 못하도록하려면 CanUserAddRows = “False”속성을 설정합니다.

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

또한 개별 열에 IsReadOnly를 설정하여 편집을 비활성화 할 수 있습니다.


답변

행 삭제를 허용하는 동안 셀 편집을 비활성화하는 방법을 궁금해하는 댓글에서 사용자를 봅니다. DataGrid 자체 대신 모든 열을 개별적으로 읽기 전용으로 설정하여이 작업을 수행했습니다.

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


답변