У меня есть приложение Flex 3.5, которое будет служить нескольким целям, и в качестве части визуальных изменений, которые я хотел бы внести, чтобы указать, в каком режиме находится приложение, я хочу изменить цвет фона.
В настоящее время тег приложения выглядит следующим образом:
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:com="ventures.view.component.*"
xmlns:views="ventures.view.*"
layout="absolute"
preinitialize="onPreInitialize()"
creationComplete="onCreationComplete()"
applicationComplete="onApplicationComplete()"
click="onClick(event)"
enabled="{(!chainController.generalLocked)}"
backgroundGradientColors="[0xFFFFFF, 0xFFFFFF]"
>
Я пытался использовать привязку для атрибутов backgroundColor
и backgroundGradientColors
:
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
...
backgroundColor="{app_background_color}"
>
& mdash; и & mdash;
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
...
backgroundGradientColors="{app_background_color}"
>
но для первого связывание недопустимо, а для последнего есть предупреждение:
Привязка данных не сможет обнаружить назначения для "app_background_color".
Я также натолкнулся на эту страницу , которая, кажется, указывает, что я мог бы сделать это с помощью метода setStyle()
, но документация , кажется, указывает, что этот метод доступен только для компоненты, а не основной холст.
Полагаю, я мог бы обернуть все в <mx:Canvas></mx:Canvas>
специально для этой цели, но это кажется расточительным - как Div-itis в HTML или что-то в этом роде.
Как лучше всего изменить цвет фона основного приложения во время выполнения?