我试图编辑带有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