У меня есть два свойства в моей модели Vehicle
: Category
и Name
.
У меня есть ICollectionView с именем VehiclesView
.
При привязке к Category
ListView отображает:
Airplane
Helicopter
Helicopter
Airplane
Car
Car
Я должен иметь возможность фильтровать VehiclesView
, чтобы удалить дубликаты одного и того же Category
, что приведет к:
Airplane
Car
Helicopter
Требование: логика фильтрации должна использовать FilterEventArgs, например:
public void ApplyFilter(object sender, FilterEventArgs e)
{
Vehicle v = e.Item as Vehicle;
if (v != null)
{
// Remove duplicate instances of Category
if (??????????????)
{
e.Accepted = false;
}
else
{
e.Accepted = true;
}
}
}
Мне нужна помощь только с логикой фильтрации.
Любая помощь приветствуется.
РЕДАКТИРОВАТЬ 1: «Категория» определяется пользователем, что означает, что фильтр должен сравнивать значения свойств во время выполнения и удалять дубликаты.
РЕДАКТИРОВАТЬ 2: добавлены ссылки на все выполненные исследования, ни одно из которых не обеспечивает требуемую мне логику фильтра, но предлагает другие типы логики фильтрации и общую картину того, как реализовать фильтрацию/сортировку/группировку.
https://weblogs.asp.net/monikadyrda/wpf-listcollectionview-for-sorting-filtering-and-grouping
http://wpftutorial.net/DataViews.html
C# - как получить отдельные элементы из коллекции Просмотр
https://social.technet.microsoft.com/wiki/contents/articles/26673.wpf-collectionview-tips.aspx
http://www.abhisheksur.com/2010/08/woring-with-icollectionviewsource-in.html
Реализация фильтра ListView с демонстрацией WPF MVVM Джоша Смита Приложение
FilterEventArgs
? - person Corentin Pane   schedule 27.09.2020Category
в моем случае определяется пользователем. - person Slip   schedule 27.09.2020