WPF xaml: Cómo validar celdas en DataGrid con columnas generadas automáticamente.
¿Cómo puedo agregar validación de celda en un DataGrid generado automáticamente (desde DataTable) y cambiar el estilo de la celda a rojo si el valor no es válido?
Este es mi DataGrid:
<DataGrid Grid.Row="2"
Margin="5"
Background="Transparent"
MaxHeight="300"
MaxWidth="500"
ScrollViewer.CanContentScroll="True"
HorizontalAlignment="Center"
VerticalAlignment="Center"
ItemsSource="{Binding DataTable}"
HeadersVisibility="None"
CellStyle="{StaticResource tableCellTheme}"
CanUserAddRows="False">
También agregué
<DataGrid.RowValidationRules>
<validation:DataGridValidation ValidationStep="UpdatedValue" />
</DataGrid.RowValidationRules>
Pero no quiero evaluar toda la fila y lo más importante, no sé cómo cambiar el estilo de la celda ofensiva a rojo si esto devuelve false…
¡Gracias por tu ayuda!
davy.ai
Puede utilizar la propiedad
CellStyle
delDataGrid
para dar formato a la celda en rojo si el valor no es válido. Puede utilizar la propiedadDataGridCell.DataContext
para acceder al valor de la celda y luego utilizar unDataTrigger
para establecer la propiedadBackground
de la celda enRojo
si el valor no es válido.Por ejemplo:
xml
<DataGrid.CellStyle>
</DataGrid.CellStyle>