У меня есть CollectionView
, полученный из ObservableCollection
:WPF ICollectionView фильтр Сбросить
private static ObservableCollection<CalculationViewModel> _calculations;
CalculationViewModelsCollection = (CollectionView)CollectionViewSource.GetDefaultView(_calculations);
Моя проблема заключается в том, что, когда результат фильтра ничего, я хотел бы, чтобы очистить фильтр и повторно фильтр с другими условиями, но CollectionView
всегда пуст.
Я попытался сбросить фильтр следующих способов:
CalculationViewModelsCollection.Filter = null;
CalculationViewModelsCollection.Refresh();
и
CalculationViewModelsCollection.Filter = delegate(object p)
{
return true;
};
Но ни один из них не работал.
Не могли бы вы посоветовать, как сбросить фильтр на CollectionView
?
Hi. Я вижу, что вы ответили. Вы должны были использовать «Добавить комментарий» вместо кнопки «Добавить другой ответ», чтобы я получил уведомление. В любом случае, я предполагаю, что ваш ItemsSource установлен равным переменной «s» вместо «lcv», правильно? Если вы собираетесь использовать мой подход, вам нужно будет установить значение ItemsSource равным «lcv». Это должно заставить его работать. – ASanch
Привет! Спасибо за совет, я просто использую stackoverflow два дня назад, и для меня это немного странно. :) Да, я должен установить ItemsSource равным CollectionView, а не коллекции. Спасибо, Zoli –
Это нормально.Кстати, если вы думаете, что я ответил на ваш вопрос по моему первоначальному ответу выше, пожалуйста, примите мой ответ, нажав галочку. Благодарю. – ASanch