我使用以下字典:
private Dictionary<string, string> _myDic;
public Dictionary<string, string> MyDic
{
get
{
return _myDic;
}
set
{
if (_myDic!= value)
{
_myDic= value;
NotifyPropertyChanged("MyDic");
}
}
}
在我看来是绑定到一个组合框。
一切正常。
问题是当我添加项目时,如果已经打开了组合框,则不会更新。
只有当它从一开始就保持关闭时,更改才会出现在屏幕上。
我有一个地方可以将项目添加到字典中,然后我立即使用了该事件,propertychanged
希望它会影响 UI:
MyDic.Add(strK, strV);
NotifyPropertyChanged("MyDic");
但这并没有帮助(尽管事件并没有为空)。
我理解这是因为它是集合的变化,而不是对象本身。我的问题是,由于各种原因,我无法将此变量的类型更改为 cutsom ObservableDictionary。
我的问题是为什么 NotifyPropertyChanged("MyDic");
不受影响。还有其他方法(除了改变类型)来处理这个问题吗?