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

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

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

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


person user883210    schedule 26.08.2011    source источник
comment
Ваш пост, кажется, немного прыгает; и вы не задали вопрос. Я думаю, вам следует точно указать, что вы пытаетесь сделать, и, возможно, показать какой-нибудь код; с объяснением того, что вы хотите сделать, и объяснением того, что на самом деле происходит.   -  person JeffryHouser    schedule 26.08.2011
comment
Что ж ... либо это все еще недостаточно конкретно, либо никто не может помочь по этой теме. Отчасти волновалась, что это могло быть так. Интертрубки мало что могут сказать об этом.   -  person user883210    schedule 28.08.2011


Ответы (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, который я хотел использовать в своем раскрывающемся меню.

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

person user883210    schedule 12.09.2011