Использование очереди <T>в PropertyGrid - PullRequest
1 голос
/ 08 сентября 2010

Я использую Очередь для свойства, и она отображается как коллекция в сетке свойств.Единственная проблема, я не могу ничего редактировать внутри, это показывает их как просто «Объекты», и все только для чтения.Я знаю, что Vector2 отлично работает в сетке свойств, потому что у меня есть несколько таких.Я гуглил и нашел кое-что о создании ContainerEditor, но не уверен, как создать его для очереди, поскольку это не пользовательский класс.неправильные вещи?

1 Ответ

1 голос
/ 08 сентября 2010

Вам необходимо написать TypeConverter и UITypeEditor для преобразования и редактирования объекта Queue.См. эту и эту статью о том, как это сделать.Обе статьи немного устарели, но должны быть актуальны - если есть что-то более простое, появилось в более поздней версии .NET, то я знаю об этом (вы можете попробовать поискать в Google).вам нужно украсить класс / тип атрибутами, что невозможно, если вы используете очередь.Я предлагаю, чтобы вы унаследовали класс-пустышку / обертку от Queue и применили его атрибуты.Вы даже можете выбрать определенный T в своем классе-обертке, если это имеет смысл (например, класс MyQueue : Queue<string> { }).Измените тип вашего свойства, чтобы использовать класс-оболочку.

...