CollectionViewSource.Filter Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет логику фильтрации.
public:
event System::Windows::Data::FilterEventHandler ^ Filter;
public event System.Windows.Data.FilterEventHandler Filter;
member this.Filter : System.Windows.Data.FilterEventHandler
Public Custom Event Filter As FilterEventHandler
Тип события
Примеры
В следующем примере показано, как задать обработчик событий для Filter события. В этом примере listingDataView
является экземпляром CollectionViewSource.
listingDataView.Filter += new FilterEventHandler(ShowOnlyBargainsFilter);
AddHandler listingDataView.Filter, AddressOf ShowOnlyBargainsFilter
Ниже показана реализация примера ShowOnlyBargainsFilter
обработчика событий фильтра. Этот обработчик событий использует свойство Accepted для фильтрации объектов AuctionItem
, имеющих CurrentPrice
, равное $25 или больше.
private void ShowOnlyBargainsFilter(object sender, FilterEventArgs e)
{
AuctionItem product = e.Item as AuctionItem;
if (product != null)
{
// Filter out products with price 25 or above
if (product.CurrentPrice < 25)
{
e.Accepted = true;
}
else
{
e.Accepted = false;
}
}
}
Private Sub ShowOnlyBargainsFilter(ByVal sender As Object, ByVal e As FilterEventArgs)
Dim product As AuctionItem = CType(e.Item, AuctionItem)
If Not (product Is Nothing) Then
'Filter out products with price 25 or above
If product.CurrentPrice < 25 Then
e.Accepted = True
Else
e.Accepted = False
End If
End If
End Sub
Полный пример см. в разделе Демонстрация привязки данных.
Комментарии
Представления могут применять фильтр к коллекции. Это означает, что хотя элемент может существовать в коллекции, определенное представление предназначено для отображения только определенного подмножества всей коллекции.
Это событие можно использовать, чтобы задать обработчик событий для обеспечения логики фильтрации.