1
這是我的AOI類(什麼特別的地方)的一部分:更新問題與數據綁定列表框和PropertyGrid的
class AOI : INotifyPropertyChanged
{
private Guid _id;
private string _name;
private string _comment;
public Guid Id
{
get { return _id; }
}
public string Name
{
get { return _name; }
set
{
_name = value;
OnPropertyChanged("Name");
}
}
public string Comment
{
get { return _comment; }
set
{
_comment = value;
OnPropertyChanged("Comment");
}
}
public override string ToString()
{
if (_name.Length > 0)
{
return _name;
}
else
{
return _id.ToString();
}
}
}
我讓他們在這勢必給ListBox
一個BindingList<AOI>
。在ListBox
的SelectedValueChanged
事件中,我將所選對象分配給PropertyGrid
,以便用戶可以修改AOI
。
除了名稱字段(顯示在ListBox
(參見上面的ToString()
))中,此工作正常。
當我使用PropertyGrid
編輯名稱字段時,ListBox
已正確更新。但在PropertyGrid,
Name
字段(只是值)被清除,只要我按下輸入。當我將光標設置到PropertyGrid
中的另一個字段時,顯示正確(已修改)的值。
什麼是最簡單的解決方法來正確處理這個問題?