WPF DataGrid过滤 – 刷新CollectionViewSource刷新

我想知道如何在单击按钮时刷新CollectionViewSource?

到目前为止我有

    

这创建了CollectionViewSource ……

 <DataGrid HorizontalAlignment="Left" Height="210" Margin="47,153,0,0" VerticalAlignment="Top" Width="410" ItemsSource="{Binding Source={StaticResource cvsCustomers}}" CanUserAddRows="False" 

这将源绑定到我的Datagrid

  private void CollectionViewSource_Filter(object sender, FilterEventArgs e) { Customer t = e.Item as Customer; if (t != null) // If filter is turned on, filter completed items. { if (t.Name.Contains(txtSearch.Text)) { e.Accepted = true; } else { e.Accepted = false; } } } 

在我的视图中有一个filter,

一切似乎都在工作(项目被限制在网格中)但是如何刷新视图或网格以便我可以再次触发上述function,以便网格被过滤? (真的按一下按钮)

谢谢

CollectionViewSource View属性上调用Refresh()以刷新它。

如果您想在按钮单击时执行此操作,则需要先从窗口资源访问CollectionViewSource,然后在其View上调用refresh。

 ((CollectionViewSource)this.Resources["cvsCustomers"]).View.Refresh();