Silverlight DataGrid: динамическое изменение цвета фона после его загрузки - PullRequest
0 голосов
/ 10 сентября 2011

Вот ситуация:

1) У меня есть ячейки с номерами.Если число меньше x, оно окрашено в зеленый цвет.Если число больше y, оно окрашено в красный цвет.

2) Я использую конвертер, чтобы установить цвет при загрузке сетки данных.Это работает нормально.

3) Я изменяю числовое значение в моем источнике данных с C #, и значение обновляется в сетке данных (если она видна).

4) К сожалению, преобразователине стреляют, чтобы установить правильный цвет.Если я вручную отредактирую ячейку в сетке данных, преобразователи сработают.

Я могу найти ячейку в таблице данных и сбросить цвет, но это вызывает проблемы с прокруткой после изменения (как и ожидалось).

Заранее спасибо,

Майк

1 Ответ

0 голосов
/ 03 октября 2011

Я полагаю, что вам доступны несколько вариантов, например:

1)  invoking a property changed notification when the color is changed (for the property your converter is converting).
2)  invoking UpdateLayout()
3)  detaching and reattaching the items source
4)  saving scroll position, performing "find the cell in the datagrid and reset the color ", and then invoking a scroll to the saved scroll position.

Если это не сработает, дайте мне знать, если вы используете PagedCollectionView в качестве вашего ItemsSource или ObservableCollection.

...