Программный скиннинг Flex PopUpButton

Я пытаюсь программно оформить скин элемента управления PopUpButton во Flex Builder, но безуспешно. Насколько я знаю, это требует написания собственного класса скина или создания модифицированной версии самого класса элемента управления (так как элемент управления MX, а не Spark). Опять же, просто чтобы уточнить, я хочу программно изменить внешний вид, а не просто установить свойства стиля или отобразить изображение. Я смог сделать это программно с другими элементами управления MX (например, вкладками в навигаторе вкладок), но не с помощью PopUpButton.

Я думаю, что часть проблемы может заключаться в том, что элемент управления фактически состоит из двух отдельных кнопок, поэтому вы не можете нарисовать только одну прямоугольную область над всем элементом управления. Кто-нибудь знает, как к этому подойти?

Спасибо за помощь!

1 ответ

Решение

Решение, на котором я остановился, заключается в использовании пользовательского компонента MXML, который содержит две кнопки зажигания. Есть кнопка открытия меню (то есть кнопка со стрелкой) и кнопка для выполнения самой последней команды, выбранной из меню. У каждой из этих кнопок есть свой скин.

При нажатии кнопки открытия открывается меню, которое изначально создается в подпрограмме "CreationComplete" компонента. Подробнее о меню можно прочитать здесь: http://www.flexafterdark.com/docs/Flex-Menus(или поскольку страница была недоступна, когда я ее попробовал: http://webcache.googleusercontent.com/search?q=cache:http://www.flexafterdark.com/docs/Flex-Menus)

Вы также можете сделать это с помощью кнопки и раскрывающегося списка в пользовательском компоненте MXML, но, похоже, это не работает с многоуровневым иерархическим XML, который я хотел использовать в своем раскрывающемся меню.

Если кто-то придумает что-то лучше, пожалуйста, пожалуйста, опубликуйте это...

Другие вопросы по тегам