Это изменение довольно хорошо описано в этом сообщении в блоге и на странице совместимости .
Обратите внимание, что вы можете вернуться к старому поведению, установив системное свойство sun.locale.formatasdefault
на true
.
В методе EditValue вам предоставляется контекст. Используйте context.Instance для доступа к объекту, содержащему ваше свойство. Этот объект также должен содержать свойство, которое дает вам доступ к списку вещей, которые вы хотите отобразить. Вы можете проверить, например, является ли context.Instance ITextureProvider, затем применить его и получить доступ к текстурам. Не уверен, что это имеет смысл в вашем дизайне, но дайте мне знать.
В качестве альтернативы вы можете попробовать следующий подход. Я считаю это очень элегантным, потому что не требует хранения списка доступных значений свойств в объекте. Поэтому, например, вы можете отображать один набор значений в одной форме, а другой набор - в другой.