Как определить, когда значение ячейки изменилось в Silverlight? - PullRequest
1 голос
/ 14 мая 2010

Я работаю в Silverlight, пытаясь выяснить, как установить цвет шрифта ячейки сетки на основе содержимого ячейки.

У меня есть ObservableCollection, привязанная к DataGrid, и мои элементы реализуют INotifyPropertyChanged, поэтому сетка обновляется при изменении значений; все работает отлично, в том числе позволяет мне сортировать элементы и продолжать сортировку, пока я обновляю базовые элементы.

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

Итак, что я действительно хочу, так это способ

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

Проблема в том, как на самом деле сделать любую из этих вещей :).

1 Ответ

0 голосов
/ 14 мая 2010

Вы должны использовать привязку данных для этого.

  1. Свяжите цвет шрифта вашей ячейки с содержимым ячейки
  2. Создайте конвертер IValueConverter, который преобразует значение в цвет в зависимости от ваших потребностей

См. Здесь хороший пример
http://weblogs.asp.net/joewrobel/archive/2009/01/25/conditional-formatting-in-the-silverlight-datagrid.aspx

...