#region Members private ObservableCollection<User> mUser = new ObservableCollection<User>(); private CollectionViewSource usercvs = new CollectionViewSource(); private string searchString; #endregion #region Properties public ObservableCollection<User> Users { get { return mUser; } } public string SearchFilter { get { return this.searchString; } set { if (!string.IsNullOrEmpty(this.searchString)) AddFilter(); usercvs.View.Refresh(); this.searchString = value; } } #endregion #region Methods private void AddFilter() { usercvs.Filter -= new FilterEventHandler(Filter); usercvs.Filter += new FilterEventHandler(Filter); } private void Filter(object sender, FilterEventArgs e) { // see Notes on Filter Methods: var src = e.Item as User; if (src == null) e.Accepted = false; else if (src.LastName != null && !src.LastName.Contains(SearchFilter)) e.Accepted = false; } #endregion } }
e.accepted = src.LastName.Contains(SearchFilter);
public ICollectionView FilteredUsers { get { return usercvs.View; } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)