I'm trying to create a Observable Dictionary Class for WPF DataBinding in C#. I found a nice example from Andy here: Two Way Data Binding With a Dictionary in WPF
According to that, I tried to change the code to following:
class ObservableDictionary : ViewModelBase {     public ObservableDictionary(Dictionary<TKey, TValue> dictionary)     {         _data = dictionary;     }      private Dictionary<TKey, TValue> _data;      public Dictionary<TKey, TValue> Data     {         get { return this._data; }     }      private KeyValuePair<TKey, TValue>? _selectedKey = null;     public KeyValuePair<TKey, TValue>? SelectedKey     {         get { return _selectedKey; }         set         {             _selectedKey = value;             RaisePropertyChanged("SelectedKey");             RaisePropertyChanged("SelectedValue");         }     }      public TValue SelectedValue     {         get         {             return _data[SelectedKey.Value.Key];         }         set         {             _data[SelectedKey.Value.Key] = value;             RaisePropertyChanged("SelectedValue");         }     } }   }
Unfortunately I still don't know how to pass "general" Dictionary Objects.. any ideas?
Thank you!
Cheers
If you really want to make an ObservableDictionary, I'd suggest creating a class that implements both IDictionary and INotifyCollectionChanged. You can always use a Dictionary internally to implement the methods of IDictionary so that you won't have to reimplement that yourself.
Since you have full knowledge of when the internal Dictionary changes, you can use that knowledge to implement INotifyCollectionChanged.
ObservableDictionary(Of TKey, TValue) - VB.NETObservableDictionary<TKey, TValue> - C#If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With