Я предполагаю, что вы используете CollectionViewSource для фильтрации.
Приведенный ниже код будет подписываться на изменения в свойстве «Удаленные» клиента и обновлять источник Collectioviews при удалении изменений. Customers - это ObservableCollection класса Customer. Клиент имеет свойство bool с именем Deleted и реализует INotifyPropertyChanged. InitAutoRefresh () должен вызываться перед заполнением клиентов.
private void InitAutoRefresh(ObservableCollection<Customer> observableCollection, CollectionViewSource collectionViewSource)
{
observableCollection.CollectionChanged +=
(sender, e) =>
{
foreach(Customer newItem in e.NewItems)
{
newItem.PropertyChanged +=
(sender2, e2) =>
{
if (e2.PropertyName == "Deleted")
{
collectionViewSource.View.Refresh();
}
};
}
};
}
Позвоните, прежде чем заполнять наблюдаемую коллекцию. Если вы объявили свой collectionViewSource в XAML, вы можете использовать FindResource для получения экземпляра.
InitAutoRefresh(Customers, FindResource("cvsCustomers") as CollectionViewSource);