ObservableDictionary для c#

Я пытаюсь использовать следующую реализацию ObservableDictionary: ObservableDictionary (C#).

Когда я использую следующий код при привязке словаря к DataGrid:

ObserveableDictionary dd=new ObserveableDictionary();
....
dd["aa"]="bb";
....
dd["aa"]="cc";

at dd["aa"]="cc";Я получаю следующее исключение

Index was out of range. Must be non-negative and less than the size of the 
collection. Parameter name: index

Это исключение выбрасывается в CollectionChanged(this, new NotifyCollectionChangedEventArgs(action, newItem, oldItem)в следующем методе:

private void OnCollectionChanged(NotifyCollectionChangedAction action, KeyValuePair newItem, KeyValuePair oldItem)
{
  OnPropertyChanged();

  if (CollectionChanged != null) CollectionChanged(this, new NotifyCollectionChangedEventArgs(action, newItem, oldItem));
}

Параметр index, похоже, соответствует KeyValuePair oldItem.

Как KeyValuePairможет быть вне допустимого диапазона, и что мне нужно сделать, чтобы это сработало?

7
задан Tilak 23 June 2016 в 16:36
поделиться