我想拥有一个“可观察的”字典,以便在其项目更改(删除或添加)时引发事件。
在其他类(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/