【问题标题】:Adding a ListViewItem to an already data-bound ListView in WPF将 ListViewItem 添加到 WPF 中已绑定数据的 ListView
【发布时间】:2011-02-11 07:39:22
【问题描述】:

我目前正在制作一个销售点,我让它在 ListView 中显示当前销售中的项目。我通过在名为 CurrentSale 的静态“Sale”类中对“Item”类型对象的 ObservableCollection 进行 DataBinding 来做到这一点。还不错吧?但我现在需要在我的 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 的文档,所以也许有人可以进一步了解它(如果它与我的问题有关)

谢谢:)

【问题讨论】:

    标签: c# wpf listview listviewitem


    【解决方案1】:

    我认为你应该使用ListBox 而不是ListViewDataTemplateSelector

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

    【讨论】:

    • 绝妙的主意!我以前不知道 DataTemplateSelectors 存在。现在我只需要让它工作:p 但这应该很快就会发生。谢谢! :)
    猜你喜欢
    • 2012-08-14
    • 2011-01-09
    • 2015-12-24
    • 1970-01-01
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多