Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/05/2009, 04:38
zakabalt
 
Fecha de Ingreso: mayo-2008
Mensajes: 65
Antigüedad: 16 años, 1 mes
Puntos: 0
Importar xml a un PopUpMenuButton

Buenas, soy un novatillo con Flex y tengo una duda que seguramente alguien podrá solucionar fácilmente.

Tengo que llenar los valores de un PopUpMenuButton mediante un xml que tengo definido y consigo hacerlo metiendo el xml dentro del aplication, pero no lo consigo si lo saco a un xml externo, no se muy bien como hacer la llamada, ya que tampoco entiendo mucho xml.

Aquí tenéis el código que funciona:

Código:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:class="action.*">
	<class:EventoMenu id="eventomenu"/>
	 <mx:XMLList id="menuarchivo">
        <node label="Nuevo">
           <node label="Correo"/> 
           <node label="Carpeta"/>
        </node>
        <node label="Salir"/>
    </mx:XMLList>

 	<mx:XMLList id="menueditar">
        <node label="Cortar"/>
        <node label="Copiar"/> 
     </mx:XMLList>
     
	<mx:ApplicationControlBar x="36.5" y="36" width="228.95" height="33.030304">

		<mx:PopUpMenuButton label="A" itemClick="eventomenu.eventoarchivo(event)" dataProvider="{menuarchivo}" labelField="@label" width="46.590908" height="22.045454" cornerRadius="8"/>
		<mx:PopUpMenuButton label="E" itemClick="eventomenu.eventoeditar(event)" dataProvider="{menueditar}" labelField="@label" width="46.590908" height="22.045454" cornerRadius="8"/>
		
	</mx:ApplicationControlBar>
	
</mx:Application>
He probado a scar el xml fuera pero algo hago mal al llamarlo, aquí os pongo el código que tengo actualmente, aunque después de tantas pruebas no se si es lo más lógico que he hecho hasta ahora:

Código:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:class="action.*">
	<mx:HTTPService id="menu" url="xml/menus.xml"/>
	<class:EventoMenu id="eventomenu"/>
	
	<mx:ApplicationControlBar x="36.5" y="36" width="228.95" height="33.030304">

		<mx:PopUpMenuButton label="A" itemClick="eventomenu.eventoarchivo(event)" dataProvider="{menu.lastResult.menus.menuarchivo}" labelField="@label" width="46.590908" height="22.045454" cornerRadius="8"/>
		<mx:PopUpMenuButton label="E" itemClick="eventomenu.eventoeditar(event)" dataProvider="{menu.lastResult.mnus.menueditar}" labelField="@label" width="46.590908" height="22.045454" cornerRadius="8"/>
		
	</mx:ApplicationControlBar>	
</mx:Application>
Y aquí el código xml, menus.xml que esta en la carpeta xml, dentro de src

Código:
<?xml version="1.0" encoding="UTF-8"?>
<menus>
	 <mx:XML id="menuarchivo">
        <node label="Nuevo">
           <node label="Correo"/> 
           <node label="Carpeta"/>
           <node label="Cuenta"/>  
        </node>
           <node label="Guardar"/>
           <node label="Recibir"/>
           <node label="Salir"/>
    </mx:XML>

 	<mx:XML id="menueditar">
        <node label="Cortar"/>
        <node label="Copiar"/> 
        <node label="Pegar"/>
        <node label="Borrar carpeta"/>  
        <node label="Buscar"/>
     </mx:XML>
</menus>
Gracias todos!