【发布时间】:2012-07-17 09:52:45
【问题描述】:
我想在我的 MVVM Light WP7 项目中交替使用列表框的背景颜色。
WP7 不支持改变 ListBox 项目背景的背景颜色。
我有一个列表框,它的 itemsource 设置为 CollectionViewSource。 CollectionViewSource 又绑定到我的 ViewModel 中的 ObservableCollection。 CollectionViewSource 配置为按我的自定义对象中的日期时间属性对列表进行排序。
当列表滚动到底部时,会向视图模型发送一条命令,以将更多数据添加到我的集合中。由于 CollectionViewSource 按日期时间排序,因此项目可以出现在列表中的任何位置,而不仅仅是在末尾。
这使得像 http://chillijam.co.uk/2012/01/11/alternating-listbox-item-background-colours-in-wp7/ 和 How to apply alternate row style in listbox in window phone 7 这样的方法不起作用。因为他们只检查之前添加的项目。
我还订阅了 ListView UpdateLayout 事件,并在那里遍历 ListBox 中的每个元素并交替背景,但这会触发很多次并且使应用程序真的没有响应。
有人有想法吗?
【问题讨论】:
-
此解决方案在第一次加载数据时运行良好。但是当我将项目添加到列表中时,列表会重新排序,但是交替的颜色会出错。
-
我看到了一条说明,这就是为什么我将链接作为评论发布的原因。
-
是的,该解决方案是我尝试的第一个解决方案。但是我的问题仍然没有答案。在这种情况下,所引用的帖子不起作用。
标签: silverlight windows-phone-7 mvvm listbox listboxitem