我想拥有一个“可观察的”字典,以便在其项目更改(删除或添加)时引发事件。

在其他类(class)中,我创建了此类字典并将Binding设置为ListBox.ItemsSourseProperty
绑定(bind)工作良好。我可以看到项目。

但是出了点问题:PropertyChanged事件始终为空。

有人可以帮忙吗?

提前致谢!

class ObservableDictionary<TKey, TValue> :
    Dictionary<TKey, TValue>,
    INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    public new void Remove(TKey obj)
    {
        base.Remove(obj);

        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs("Remove"));
        }
    }
}

最佳答案

您不应为集合更改事件调用PropertyChanged。您需要实现INotifyCollectionChanged

关于c# - 可观察的字典不符合预期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2858401/

10-13 01:57