Я пытаюсь использовать следующую реализацию 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
.
Как KeyValuePair
может быть вне допустимого диапазона, и что мне нужно сделать, чтобы это сработало?