Отмена редактора коллекции 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;
    }
}
Другие вопросы по тегам