public void RefreshView() { try { var param = System.Linq.Expressions.Expression.Parameter(ItemType); var expr = FilterDactory.GetFilterExpression(param); var lmbda = System.Linq.Expressions.Expression.Lambda(expr, param); var predicat = lmbda.Compile(); CollectionViewSource.GetDefaultView(DataGrid.ItemsSource).Filter = (x) => { bool ret = (bool)predicat.DynamicInvoke(x); return(ret); }; } catch (Exception ex) { throw ex; } }