我試圖編輯帶有PropertyGrid的List<string>
,並且它在修改內容時未觸發PropertyValueChanged事件。編輯和觸發PropertyGrid中的列表<string>的PropertyValueChanged事件
我研究了這一點,並嘗試使用自定義TypeConverter
類,但即使當我讓編輯器顯示並讓我修改這些值時,我無法觸發此事件。
我也嘗試使用下面的屬性,它拉起了字符串編輯器,但是這也不會觸發事件的變化。
[Editor("System.Windows.Forms.Design.StringCollectionEditor, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a",
"System.Drawing.Design.UITypeEditor, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
我也嘗試使用UITypeEditor
並重寫EditValue
方法,但編輯值時,這永遠不會觸發。
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
{
MessageBox.Show("This never appears...");
return base.EditValue(context, provider, value);
}
是否有編輯List<string>
和火PropertyValueChanged事件的方法嗎?
你試試這個: [PropertyGrid中不會引發PropertyValueChanged事件] [1] [1]:http://stackoverflow.com/questions/15110594/propertygrid-does-not-raise-propertyvaluechanged-event – 2014-08-27 16:18:14
是的,當通過PropertyGrid更改屬性時,這不會調用事件。 – langstrom 2014-08-27 17:16:34