【问题标题】:How do I Filter ListView in WPF?如何在 WPF 中过滤 ListView?
【发布时间】:2010-01-05 19:20:17
【问题描述】:

我有一个绑定到项目集合的 ListView。我不想显示属性 IsDeleted = "1" 的项目。我怎样才能做到这一点?

【问题讨论】:

    标签: wpf listview filter


    【解决方案1】:

    我会使用 CollectionView 并将 Filter 属性设置为表达式:

    var view = CollectionViewSource.GetDefault(GetData());
    view.Filter = i => ((MyType)i).IsDeleted != 1;
    MyListView.DataSource = view;
    

    【讨论】:

    • +1,但您需要转换参数,因为Filter 的类型为Predicate<object>
    • 如果我想遵循 MVVM 设计模式,这样做的正确范例是什么?我认为 view 是 View 的东西,而谓词 (i=>IsDeleted) 是 View Model 的东西。你会怎么解决?
    • @Uri - ICollectionView 是一个视图模型构造,在我所有的 MVVM 经验中。
    猜你喜欢
    • 1970-01-01
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多