2011-11-20 26 views
0

私は奇妙な状況があります。 私は、MVVMデータバインディングでlonglistselectorを持っています。 1つの項目が選択されると、テキストの色を電話のアクセントの色に変更します。しかし、アイテムは画面上の色を変えません。 (リスト内でスクロールしなくても) 別のページに切り替えて戻ってきたら、表示されていない場合はスクロールすると項目の色が変わります。表示されている場合は、ビューからスクロールして表示に戻すまで色は変わりませんが、色も変わります。LongListSelector - 現在選択されているアイテムの色を変更する

誰も同じ経験ですか?

+0

どのように色を変更していますか? –

+0

私のモデルでは、 "Brush SelectedColour"というプロパティがあり、これをviewmodelで選択したアイテムに変更します。 – Depechie

答えて

1

バインドされた値は変更されていますが、UIに反映されていない場合、これは通常、変更が正しく通知されていないことを示します。ビューモデルにINotifyPropertyChanegdを実装し、RaisePropertyChangedを適切に呼び出していることを確認してください。

+0

ちょっとマット、それはmvvm-lightと結びついているので、フレームワークは自動的に変更を上げます。 – Depechie

+0

@Depechie mvvm-lightは自動的に変更を発生させません。あなたのビューモデルが 'ViewModelBase'から継承するならば、それを簡単に行うだけです。 –

+0

ha?たぶん私は何かを欠いている?だから私がリストにコレクションをデータバインドした場合(ViewModelの小道具はRaisePropertyChangedを持っていてコレクションです)、どのように色の変化があるかを伝えますか?私は値を変更し、RaisePropertyChangedを手動で通知しました... – Depechie

関連する問題