2011-11-08 9 views
14

voglio sapere come ottenere il DataGridCell da DataGridCellInfo. In realtà ho alcune celle selezionate in datagrid e la proprietà SelectedCells restituisce la raccolta di DataGridCellInfo, ma voglio cambiare lo sfondo di quelle celle anche in fase di esecuzione. quindi ho bisogno della cella datagrid.Come estrarre DataGridCell dalla classe DataGridCellinfo in WPF

gentilmente mi suggeriscono come farlo e anche come cambiare il colore di sfondo della cella DataGrid in modo dinamico (tramite il codice) anche.

Grazie

+0

Se lo fai con XAML è molto più semplice, consiglio. – Natxo

+0

Grazie, ma in realtà sto sviluppando un controllo personalizzato, quindi ho bisogno di un approccio più generico per questo –

+1

Bene, dai un'occhiata alla risposta della domanda: http://stackoverflow.com/questions/1764498/wpf-datagrid- programmazione-editing-a-cell [1]: http://stackoverflow.com/questions/1764498/wpf-datagrid-programmatically-editing-a-cell – Natxo

risposta

3

per cambiare il colore della cella in modo dinamico questo è il modo più semplice

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

e per ottenere la cella DataGrid, segui questo link

WPF Datagrid: Programmatically editing a cell

Grazie a Natxo

29

A chiunque arrivato qui da un motore di ricerca, aspettandosi di trovare una risposta al documento nella domanda, guarda qui: https://stackoverflow.com/a/17066695/937093

Content:

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

    return null; 
} 

modificare

se upvote questa risposta si prega di non dimenticare di upvote la risposta originale ho linkato, come pure!

+0

Questa dovrebbe essere la risposta contrassegnata. – user3690202

+0

@ user3690202 non proprio. Il problema con questa domanda è che ciò che viene chiesto nel titolo è diverso da ciò che viene chiesto nella domanda stessa. La risposta contrassegnata risponde alla domanda che manav inder ha davvero avuto. –

+1

Se la cella non è in vista, dobbiamo usare 'Datagrid.ScrollIntoView'. – nan

Problemi correlati