ObservableDictionary pour c#

Je suis en train de l'utiliser à la suite de la mise en œuvre de la ObservableDictionary: ObservableDictionary (C#).

Quand je suis en utilisant le code suivant lors de la liaison à un dictionnaire pour un contrôle DataGrid:

ObserveableDictionary<string,string> dd=new ObserveableDictionary<string,string>();
....
dd["aa"]="bb";
....
dd["aa"]="cc";

à dd["aa"]="cc"; je suis arriver exception suivante

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

Cette exception est levée dans CollectionChanged(this, new NotifyCollectionChangedEventArgs(action, newItem, oldItem) la méthode suivante:

private void OnCollectionChanged(NotifyCollectionChangedAction action, KeyValuePair<TKey, TValue> newItem, KeyValuePair<TKey, TValue> oldItem)
{
  OnPropertyChanged();

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

La index param semble correspondre à KeyValuePair<TKey, TValue> oldItem.

Comment peut - KeyValuePair<TKey, TValue> être hors de portée, et que dois-je faire pour faire ce travail?

OriginalL'auteur Arsen Zahray | 2012-05-16