我正在使用MVVM设计模式,ListView绑定到ViewModel上的ListCollectionView.我还有几个用于过滤ListView的组合框.当用户从组合框中选择项目时,将针对所选项目筛选ListView.每当我想要在已经过滤的内容之上进行过滤时,它就像从未发生的那样撤消我以前的过滤器.删除过滤器也是如此.删除一个组合框的过滤器将删除所有过滤器并显示原始列表.是否可以在同一个ListCollectionView上拥有多个独立的过滤器?
我做错了什么,或者这根本不受支持?你可以在这里找到我的应用程序的屏幕截图,看看我想要完成什么.这是我的过滤代码......
/// <summary>
/// Filter the list
/// </summary>
/// <param name="filter">Criteria and Item to filter the list</param>
[MediatorMessageSink("FilterList", ParameterType = typeof(FilterItem))]
public void FilterList(FilterItem filter)
{
// Make sure the list can be filtered...
if (Products.CanFilter)
{
// Now filter the list
Products.Filter = delegate(object obj)
{
Product product = obj as Product;
// Make sure there is an object
if (product != null)
{
bool isFiltered = false;
switch (filter.FilterItemName)
{
case "Category":
isFiltered = …Run Code Online (Sandbox Code Playgroud)