2011-07-20 14 views
82

Estoy construyendo una cuadrícula de datos en Windows Presentation Foundation, y tengo un problema. Cuando un usuario hace doble clic en una celda en mi cuadrícula de datos, la celda entra en modo de edición. Quiero prevenir eso. En cambio, quiero que los usuarios puedan seleccionar la fila completa, no editar valores en ella.¿Cómo puedo desactivar la edición de celdas en una cuadrícula de datos WPF?

¿Cómo puedo hacer para que doble clic seleccione la fila completa en lugar de poner la celda en el modo de edición?

Respuesta

189

El FPM DataGrid tiene una propiedad IsReadOnly que se puede establecer a True para garantizar que los usuarios no pueden editar sus células DataGrid 's.

También puede establecer este valor para columnas individuales en su DataGrid según sea necesario.

+1

La cuadrícula aparece atenuada y se parece más a un estado deshabilitado, no se asemeja al estado de solo lectura de los winforms. –

+2

Estoy de acuerdo con Buda Florin. Configurarlo en ReadOnly hace que parezca más como que está deshabilitado. Disabled y ReadOnly son diferentes porque ReadOnly normalmente le permite seleccionar el texto para copiar. Cuando configura DataGrid para que sea ReadOnly, ya no puede seleccionar texto en las celdas. – Nick

+0

@LeslieDavies ¿qué ocurre si quiero mantenerlos desactivados, pero también quiero poder eliminar elementos de la cuadrícula de datos cuando presiono DEL? –

39

La cuadrícula de datos tiene una propiedad XAML IsReadOnly que se puede establecer a true:

<my:DataGrid 
    IsReadOnly="True" 
/> 
1

Si desea desactivar la edición de toda la red, se puede establecer IsReadOnly a la verdadera posición de la parrilla. Si desea desactivar usuario añadir nuevas filas, se establece la propiedad CanUserAddRows = "false"

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

También usted puede configurar IsReadOnly en columnas individuales para inhabilitar la edición.

Cuestiones relacionadas