2011-11-08 9 views
14

Quiero saber cómo obtener DataGridCell de DataGridCellInfo. En realidad, tengo algunas celdas seleccionadas en la cuadrícula de datos, y la propiedad SelectedCells devuelve la colección de DataGridCellInfo, pero también quiero cambiar el fondo de esas celdas en tiempo de ejecución. entonces necesito la celda de la cuadrícula de datosCómo extraer DataGridCell de la clase DataGridCellinfo en wpf

amablemente sugiero cómo hacerlo y también cómo cambiar el color de fondo de la celda de la cuadrícula de datos dinámicamente (a través del código) también.

Gracias

+0

Si lo haces con XAML es mucho más simple, te lo aconsejo. – Natxo

+0

Gracias, pero en realidad estoy desarrollando un control personalizado, por lo que necesito un enfoque más genérico para este –

+1

Bueno, eche un vistazo a la respuesta de la pregunta: http://stackoverflow.com/questions/1764498/wpf-datagrid- programmatically-editing-a-cell [1]: http://stackoverflow.com/questions/1764498/wpf-datagrid-programmatically-editing-a-cell – Natxo

Respuesta

3

para cambiar el color de la celda de forma dinámica esta es la manera más simple

cell.Background = new SolidColorBrush (Colors.Green);

y para obtener la célula de la cuadrícula de datos, siga este enlace

WPF Datagrid: Programmatically editing a cell

Gracias a Natxo

29

Para cualquier persona que llegó aquí desde un motor de búsqueda, esperando encontrar una respuesta al título de la pregunta, mira aquí: https://stackoverflow.com/a/17066695/937093

contenido:

public DataGridCell GetDataGridCell(DataGridCellInfo cellInfo) 
{ 
    var cellContent = cellInfo.Column.GetCellContent(cellInfo.Item); 
    if (cellContent != null) 
     return (DataGridCell) cellContent.Parent; 

    return null; 
} 

edición

si Upvote esta respuesta por favor no se olvide de upvote la respuesta original, he vinculado también!

+0

Esta debería ser la respuesta marcada. – user3690202

+0

@ user3690202 no realmente. El problema con esta pregunta es que lo que se pregunta en el título es diferente de lo que se pregunta en la pregunta en sí. La respuesta marcada responde la pregunta que manav inder realmente tenía. –

+1

Si la celda no está a la vista, necesitamos usar 'Datagrid.ScrollIntoView'. – nan

Cuestiones relacionadas