В Flex искровая кожа отлично. Чтобы настроить компонент, требуется несколько минут. Компоненты Mx чрезвычайно трудно справиться. Мне потребовалось 2 дня, чтобы понять, как изменить фон меню в компоненте Menubar. И когда я нашел правильный способ выполнить его (http://goo.gl/Tu5Wc), он просто не работает. Я создал очень простое приложение, чтобы продемонстрировать мою проблему:Изменение цвета фона в меню MenuBar (Flex 4.6)
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="application1_creationCompleteHandler(event)">
<fx:Script>
<![CDATA[
import mx.collections.XMLListCollection;
import mx.events.FlexEvent;
private var menubarXML:XMLList =
<>
<menuitem label="Client">
<menuitem label="Profile"/>
<menuitem label="Documents"/>
</menuitem>
<menuitem label="Others">
<menuitem label="Profile"/>
<menuitem label="Documents"/>
</menuitem>
</>;
[Bindable]
public var menuBarCollection:XMLListCollection;
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
menuBarCollection = new XMLListCollection(menubarXML);
}
]]>
</fx:Script>
<fx:Style>
@namespace mx "library://ns.adobe.com/flex/mx";
mx|MenuBar.myStyle {
backgroundColor: #ff0000;
}
</fx:Style>
<mx:MenuBar height="30" labelField="@label" dataProvider="{menuBarCollection}" menuStyleName="myStyle"/>
</s:Application>
Может кто-то объяснить, почему фон меню по-прежнему белый?
Благодарим за отзыв, но, к сожалению, ваше предложение не будет работать. Это должно быть хорошо для Flex 2, но не для Flex 4. Кажется, Adobe устарела backgroundColor для MenuBar (см. Http://goo.gl/Tu5Wc). Я пытаюсь расширить и переопределить меню, чтобы исправить мою проблему. Если это сработает, я отправлю его здесь. Благодаря! –
Приходят в чат. http://chat.stackoverflow.com/rooms/1531/casual-chat –