Установите значок кнопки Flex с помощью Sprite во время выполнения - PullRequest
1 голос
/ 15 марта 2009

Я хочу установить значок кнопки в flex.

Синтаксис по умолчанию выглядит следующим образом.

myButton.setStyle("icon", iconClass);

, а iconClass обычно является встроенным объектом.

Но я хочу использовать стандартный Sprite или MovieClip (который я нахожу во время выполнения) в качестве значка.

Возможно ли это? Кто-нибудь делал это?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 10 апреля 2009

Это на самом деле фатальный недостаток в среде Flex в отношении стиля. Когда Flex получает значение стиля для значка, он предполагает, что он имеет тип Class и что созданный объект будет иметь тип DisplayObject (или производный). Это тривиальное изменение в коде (которое классы, такие как mx:Image, делают для своего свойства источника), чтобы проверить, имеет ли значение стиля тип DisplayObject, и если это так, просто пропустите шаг построения, который он выполняет в настоящее время.

Решение Бена является наилучшим из возможных, если вы не хотите менять исходный код платформы Flex. Лично я заканчиваю тем, что исправляю определенные компоненты, чтобы принять экземпляры DisplayObjects вместо Classes. Некоторые компоненты более трудны, чем другие, для исправления.

Даг Маккьюн объясняет, как обезьяна исправить патч Flex Framework.

0 голосов
/ 15 марта 2009

Нашел возможное решение. http://blog.benstucki.net/?p=42 Дадим это назад и доложим.

...