es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Puede utilizar la propiedad CellStyle del DataGrid para dar formato a la celda en rojo si el valor no es válido. Puede utilizar la propiedad DataGridCell.DataContext para acceder al valor de la celda y luego utilizar un DataTrigger para establecer la propiedad Background de la celda en Rojo si el valor no es válido.

    Por ejemplo:

    xml
    <DataGrid.CellStyle>

    </DataGrid.CellStyle>

Comments are closed.