Изменить атрибут свойства как ReadOnly во время разработки (PropertyGrid) - PullRequest
1 голос
/ 10 октября 2009

Я разрабатываю пользовательский элемент управления, в котором есть поле, как показано ниже:

ControlKind, Field1, Field2

Я хочу изменить атрибут одного поля для controlKind,
Например: если controlKind == useField1, то Field1 show и Field2 hidde в ProperyGrid (или только для чтения, либо фильтра)

я могу это сделать?

Заранее спасибо

1 Ответ

4 голосов
/ 10 октября 2009

Реализуйте ICustomTypeDescriptor, или зарегистрируйте TypeDescriptionProvider и верните дескриптор пользовательского типа из него, или примените TypeConverterAttribute.

Во всех трех случаях вам необходимо реализовать / переопределить метод GetProperties для возврата отфильтрованного подмножества фактических свойств. (В подходе TypeConverter вы также должны переопределить GetPropertiesSupported для возврата true.)

...