private void ApplyFilters() { #region bindinglistcollectionview concatenating and applying filter string newFilter = ""; foreach (KeyValuePair <string, string> KVP in Filters) { if (KVP.Value.Trim(new char[] { ' ' }) != "") { if (newFilter.Length > 0) { newFilter += " AND " + KVP.Value; } else { newFilter += KVP.Value; } } } DG.CancelEdit(DataGridEditingUnit.Row); Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(delegate() { StatusString = "Применяю фильтры"; loadingIcon.RotateMe(); BLCV.CustomFilter = newFilter; //StatusString = ""; loadingIcon.StopRotation(); })); #endregion }