private void Privileges_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { Privileges.CollectionChanged -= Privileges_CollectionChanged; SelectedPrivileges.CollectionChanged -= SelectedPrivileges_CollectionChanged; SelectedPrivileges = new ObservableCollection <Privilege>(SelectedRole.Privileges.Where(x => !Privileges.Contains(x))); SelectedPrivileges.CollectionChanged += SelectedPrivileges_CollectionChanged; Privileges.CollectionChanged += Privileges_CollectionChanged; }