public class BillsViewModel : ViewModelBase { public SelectOptions SOptions { get;set;}= new SelectOptions(); private List _allBills; public RelayCommand GoButtonClicked { get; set; } public void GoFilterData(object param) { AllBills.Filter=FilterTask; } public bool FilterTask(object value) { bool f; var entry = value as Bills; if (entry != null) { if (!string.IsNullOrEmpty(FilterString)) { switch (SOptions.EnumProperty) { case Options.BillNo: f = entry.Party == SelectedCBItem && entry.BillNo == FilterString; break; case Options.BillDt: f = entry.Party == SelectedCBItem && entry.BillDt == FilterString; break; case Options.Amt: f = entry.Party == SelectedCBItem && entry.Amt == FilterString; break; default: f = entry.Party == SelectedCBItem; break; } return f; } else { f = entry.Party == SelectedCBItem; return f; } } return false; } .... }