Отмена редактора коллекции Propertygrid не через пользовательский интерфейс
Я видел, что для отмены редактора коллекции нужно установить тип следующим образом:
public class MyCollectionEditor : CollectionEditor
{
public MyCollectionEditor(Type type)
: base(type)
{
}
public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
{
return UITypeEditorEditStyle.None;
}
}
И используйте это так:
[Editor(typeof(MyCollectionEditor), typeof(System.Drawing.Design.UITypeEditor))]
public class MyCollection : CollectionBase, ICustomTypeDescriptor
{
//...
}
Вы можете найти его по следующей ссылке (в ответ на вопрос Алана Сидхауса):
Настраиваемое отображение данных коллекции в PropertyGrid
Моя проблема в том, что я не определяю MyCollection.cs
в пользовательском интерфейсе (но в библиотеке классов) и, следовательно, я не могу наследовать от CollectionEditor
,
Есть ли другой способ сделать это?
1 ответ
Решение
Наконец это сработало так:
public class MyCollectionEditor : UITypeEditor
{
public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
{
return UITypeEditorEditStyle.None;
}
}