2011-11-08 7 views
14

Chcę wiedzieć, jak uzyskać DataGridCell z DataGridCellInfo. W rzeczywistości mam niektóre wybrane komórki w datagrid, a właściwość SelectedCells zwraca kolekcję DataGridCellInfo, ale chcę też zmienić tło tych komórek w środowisku wykonawczym. więc potrzebuję komórki datagrid.Jak wyodrębnić DataGridCell z klasy DataGridCellinfo w wpf

uprzejmie zasugeruj mi, jak to zrobić, a także jak zmienić kolor tła komórki danych dynamicznie (za pomocą kodu) również.

Dzięki

+0

Jeśli zrobisz to za pomocą XAML, będzie to znacznie prostsze. – Natxo

+0

Dzięki, ale w rzeczywistości rozwijam niestandardową kontrolę, więc potrzebuję bardziej ogólnego podejścia do tego –

+1

Cóż, spójrz na odpowiedź na pytanie: http://stackoverflow.com/questions/1764498/wpf-datagrid- programowo edytująca-a-komórkę [1]: http://stackoverflow.com/questions/1764498/wpf-datagrid-programmatically-editing-a-cell – Natxo

Odpowiedz

29

Do każdego, kto tu mamy wyszukiwarkę, spodziewając się znaleźć odpowiedź na tytuł w pytanie, zajrzyj tutaj: https://stackoverflow.com/a/17066695/937093

Treść:

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

    return null; 
} 

edit

jeśli upvote tę odpowiedź prosimy nie zapomnieć upvote oryginalną odpowiedź I połączone, jak dobrze!

+0

To powinna być zaznaczona odpowiedź. – user3690202

+0

@ user3690202 niezupełnie. Problem z tym pytaniem polega na tym, że pytanie w tytule różni się od pytania zadanego w pytaniu. Zaznaczona odpowiedź odpowiada na pytanie, jakie naprawdę miał manavinder. –

+1

Jeśli komórka nie jest widoczna, musimy użyć 'Datagrid.ScrollIntoView'. – nan

Powiązane problemy