1 namespace System.Activities.Presentation.PropertyEditing {
3 using System.Collections.Generic;
6 /// Interface that is used by the host infrastructure for the PropertyEditing to handle sorting/filtering
7 /// functionality. It is used to determine whether a particular object should be filtered out.
9 public interface IPropertyFilterTarget {
12 /// Event raised when a PropertyFilter is changed through a call to ApplyFilter.
14 event EventHandler<PropertyFilterAppliedEventArgs> FilterApplied;
17 /// Read-only property that returns true if the PropertyFilter is a match for the object.
19 bool MatchesFilter { get; }
22 /// Used to set a new PropertyFilter on the IPropertyFilterTarget
24 /// <param name="filter">The new PropertyFilter instance.</param>
25 void ApplyFilter(PropertyFilter filter);
28 /// Used to determine if this IPropertyFilterTarget is a match for a particular PropertyFilterPredicate
30 /// <param name="predicate">The PropertyFilterPredicate to match against</param>
31 /// <returns>True if it is a match, otherwise false</returns>
32 bool MatchesPredicate(PropertyFilterPredicate predicate);