Я настраиваю приложение WinForms. Это приложение имеет Form
, который содержит PropertyGrid
. Объекту присваивается свойство SelectedObject
, поэтому в сетке свойств отображаются свойства объекта.
Тип назначенного объекта имеет свойство, которое содержит EditorAttribute
, определяющее UITypeEditor
.
Эта реализация UITypeEditor
возвращает UITypeEditorEditStyle.Drop
в переопределении метода GetEditStyle
. Его метод EditValue
отображает ListBox
, из которого может быть назначено значение для свойства экземпляра.
Все хорошо, пока хорошо.
Теперь у меня есть дополнительное требование, которое требует изменения доступных элементов в списке в зависимости от другого состояния Form
, в котором находится PropertyGrid
. Я не могу понять, как передать эту контекстную информацию в метод EditValue
.
Кажется, в параметре context
ничего нет, даже если я пытаюсь привести его к более конкретным типам. Я также не могу понять, как добавить какой-либо другой Сервис для извлечения из provider
.
Есть идеи?