Ошибка Flex: не удалось разрешить реализацию компонента

Я пытаюсь создать строку меню со следующими элементами: Файл, База данных, Навигация, Окно. Однако я получаю непонятную ошибку: Could not resolve <mx:XMLList> to a component implementation. Может ли кто-нибудь объяснить мне ошибку? Мой код выглядит следующим образом:

<mx:XMLList id="topLevelMenu">
     <menuitem label="File" />
     <menuitem label="Database"/>
     <menuitem label="Navigate"/>
     <menuitem label="Window" />
 </mx:XMLList>

 <mx:MenuBar width="100%" height="20" labelField="@label" id="mainMenuBar" dataProvider="{topLevelMenu}" />`

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


person 341008    schedule 03.07.2010    source источник


Ответы (1)


Ошибка означает, что компилятор не может найти компонент.

В этом случае XMLList не находится в пространстве имен mx. Вы не показали код, в котором вы импортируете пространства имен, но я предполагаю, что вы используете значение по умолчанию.

Я предлагаю создавать свой список XMLList в ActionScript, а не в MXML. Я считаю, что что-то вроде этого должно работать:

public var topLevelMenu : XML =  <menuItems>
<menuitem label="File" />
     <menuitem label="Database"/>
     <menuitem label="Navigate"/>
     <menuitem label="Window" />
</menuItems>; 

Затем где-нибудь, возможно, в обработчике creationComplete вы можете изменить это на XMLList

var myList : XMLList = topLevelMenu.menuitem 

Этот код написан в браузере и не протестирован.

person JeffryHouser    schedule 03.07.2010