Comparteix a través de


CollectionViewSource.Filter Evento

Definición

Ofrece una lógica para el filtrado.

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 

Tipo de evento

Ejemplos

En el ejemplo siguiente se muestra cómo establecer un controlador de eventos para el Filter evento. En el ejemplo, listingDataView es una instancia de CollectionViewSource.

listingDataView.Filter += new FilterEventHandler(ShowOnlyBargainsFilter);
AddHandler listingDataView.Filter, AddressOf ShowOnlyBargainsFilter

A continuación se muestra la implementación del controlador de eventos del filtro ShowOnlyBargainsFilter de ejemplo. Este controlador de eventos usa la propiedad Accepted para filtrar los objetos AuctionItem que tienen un valor CurrentPrice de 25 USD o superior.

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

Para obtener el ejemplo completo, consulte Demostración de enlace de datos.

Comentarios

Las vistas pueden aplicar un filtro a una colección. Esto significa que, aunque un elemento puede existir en la colección, una vista determinada está pensada para mostrar solo un subconjunto determinado de la colección completa.

Puede usar este evento para establecer un controlador de eventos para proporcionar lógica de filtrado.

Se aplica a