Clase de diccionario observable general para DataBinding / WPF C #

Estoy intentando crear una clase de diccionario observable para el enlace de datos de WPF en C #. He encontrado un buen ejemplo de Andy aquí:Enlace bidireccional de datos con un diccionario en WPF

De acuerdo con eso, traté de cambiar el código a siguiente:

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");
        }
    }
}

}

Lamentablemente, todavía no sé cómo pasar objetos de diccionario "generales" ... ¿alguna idea?

¡Gracias!

Aclamaciones

Respuestas a la pregunta(6)

Su respuesta a la pregunta