将ListViewItem添加到WPF中已经数据绑定的ListView

时间:2011-02-11 07:39:22

标签: c# wpf listview listviewitem

我目前正致力于制作销售点,并让我在ListView中显示当前销售中的商品。我通过DataBinding在名为CurrentSale的静态“Sale”类中对“Item”类型对象进行了ObservableCollection。不错,嗯?但我现在需要为我的pos添加优惠券和折扣,而且WPF的设置方式很难证明这一点。

此: http://dl.dropbox.com/u/1330689/listnow.jpg 列表视图目前的样子。这个: http://dl.dropbox.com/u/1330689/listgoal.jpg 是我想要折扣出现的模型。我想我已经控制了该程序的折扣和优惠券部分,我只想让它们出现。如果有人可以向我展示一些示例代码,展示如何将自定义listviewitem插入到已经绑定数据的listview中,并具有相似的特征(多个单元格,黑色背景),我会非常激动。

我读完了这个: Append Items to Databound ItemsControl in WPF 看起来那家伙有类似的问题。给他的解决方案是在绑定列表中添加一个特殊项,或者使用CompositeCollection。我无法在observablecollection中添加“特殊”项,因为它不会让我改变背景颜色,我想要一个更清洁的解决方案。另外,我无法在ListViews上找到有关CompositeCollections的任何文档,所以也许有人可以更多地了解它(如果它与我的问题相关)

谢谢:)

1 个答案:

答案 0 :(得分:0)

我认为您应该使用ListBox代替ListViewDataTemplateSelector

创建基本抽象类和2个子类,例如:BaseListItemProductListItemDiscountListItem。然后将特定位置的特定对象插入ObservableCollection<BaseListItem> ItemsSource,用作ListBox的<{1}}。