LongListSelector - изменение цвета текущего выбранного элемента

У меня странная ситуация. У меня есть longlistselector с привязкой данных MVVM. Когда выбирается один элемент, я меняю цвет текста на цвет акцента телефона. Но цвет предмета на экране не меняется. (даже не когда я прокручиваю список). Если я просто переключусь на другую страницу и вернусь, цвет элемента изменится, если я прокручиваю до него, если он не виден. Если он виден, он все еще не изменил цвет, пока я не прокручу его из поля зрения и не верну в поле зрения, тогда цвет также изменится.

У кого-нибудь такой же опыт?


person Depechie    schedule 20.11.2011    source источник
comment
Как ты меняешь цвет?   -  person Matt Lacey    schedule 21.11.2011
comment
В моей модели у меня есть свойство Brush SelectedColour, и я меняю его для выбранного элемента в модели просмотра.   -  person Depechie    schedule 25.11.2011


Ответы (1)


Если вы изменяете связанное значение, но оно не отражается в пользовательском интерфейсе, это обычно означает, что вы неправильно уведомляете об изменении. Убедитесь, что вы реализуете INotifyPropertyChanegd в модели просмотра и вызываете RaisePropertyChanged соответственно.

person Matt Lacey    schedule 25.11.2011
comment
Привет, Мэтт, он связан с mvvm-light, этот фреймворк вносит изменения автоматически. - person Depechie; 28.11.2011
comment
@Depechie mvvm-light не вызывает изменений автоматически, он просто упрощает вам задачу, если ваши модели просмотра наследуются от ViewModelBase. - person Matt Lacey; 28.11.2011
comment
ха? Может я чего то упускаю? Итак, если я привязал коллекцию к списку (опора в модели представления имеет RaisePropertyChanged и является коллекцией), как я могу сигнализировать об изменении цвета одного элемента? Я просто изменил значение и вручную сигнализировал RaisePropertyChanged ... - person Depechie; 29.11.2011
comment
Кроме ручного вызова RaisePropertyChanged? (потому что я делаю это) - person Depechie; 15.12.2011
comment
Мэтт, я все перепроверил! И я неправильно сделал уведомление PropertyChanged! Еще раз спасибо за то, что указали мне правильное направление! - person Depechie; 18.12.2011