2011-11-20 2 views
0

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

Любой такой же опыт?

+0

Как вы меняете цвет? –

+0

В моей модели у меня есть свойство «Brush SelectedColour», и я изменяю его для выбранного элемента в режиме просмотра. – Depechie

ответ

1

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

+0

Эй, Мэтт, он связан с mvvm-light, этот фреймворк автоматически поднимет изменения. – Depechie

+0

@Depechie mvvm-light не поднимет изменения автоматически, это просто упрощает вам выполнение этого, если ваши viewmodels наследуются от 'ViewModelBase'. –

+0

ha? Может, я что-то упустил? Поэтому, если я привязал базу данных к списку (в представлении модели есть RaisePropertyChanged и есть коллекция), как я могу сигнализировать об изменении цвета одного элемента? Я просто изменил значение и дал команду RaisePropertyChanged вручную ... – Depechie

Смежные вопросы