【问题标题】:LongListSelector - Changing the colour of the current selected itemLongListSelector - 改变当前选中项的颜色
【发布时间】:2012-01-02 12:29:54
【问题描述】:

我的情况很奇怪。 我有一个带有 MVVM 数据绑定的 longlistselector。当一个项目被选中时,我将文本的颜色更改为电话强调色。但该项目不会改变其在屏幕上的颜色。 (即使我在列表中滚动时也没有) 如果然后我只是切换到另一个页面并返回,如果我滚动到它不可见,则项目颜色会更改。如果它是可见的,它仍然没有改变颜色,直到我将它滚动出视图并重新进入视图,然后颜色也会改变。

有相同经历的人吗?

【问题讨论】:

  • 你是如何改变颜色的?
  • 在我的模型上,我有一个属性“Brush SelectedColour”,我为视图模型中的选定项目更改了它。

标签: windows-phone-7 mvvm-light longlistselector


【解决方案1】:

如果您正在更改绑定值但它没有反映在 UI 中,那么这通常表明您没有正确通知更改。确保您在视图模型上实现 INotifyPropertyChanegd 并适当地调用 RaisePropertyChanged

【讨论】:

  • 嘿,马特,它与 mvvm-light 绑定,该框架确实会自动引发更改。
  • @Depechie mvvm-light 不会自动引发更改,如果您的视图模型继承自 ViewModelBase,它只会让您更容易做到这一点。
  • 哈?也许我错过了什么?因此,如果我将集合数据绑定到列表(视图模型中的道具具有 RaisePropertyChanged 并且是集合),我将如何指示一个项目的颜色变化?我只是更改了值并手动发出了 RaisePropertyChanged 信号...
  • 除了手动调用 RaisePropertyChanged 之外? (因为我正在这样做)
  • 马特我仔细检查了一切!而且我没有正确执行 PropertyChanged 通知!再次感谢您为我指明正确的方向!
猜你喜欢
  • 1970-01-01
  • 2016-03-24
  • 2014-02-26
  • 2020-02-12
  • 1970-01-01
  • 2013-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多