Есть ли способ приостановить NotifyCollectionChanged
событие ObservableCollection
?Я подумал что-то вроде следующего:
public class PausibleObservableCollection<Message> : ObservableCollection<Message>
{
public bool IsBindingPaused { get; set; }
protected override void OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
if (!IsBindingPaused)
base.OnCollectionChanged(e);
}
}
Это действительно приостанавливает уведомление, но очевидно, что тогда оставленные (но все еще добавленные) элементы находятся в пределах NotifyCollectionChangedEventArgs
и, следовательно, не передаются в связанную DataGrid, когдаЯ снова включаю уведомление.
Придется ли мне придумывать собственную реализацию коллекции, чтобы управлять этим аспектом?