bonjour le forum,
Je voudrais charger un mxml dynamiquement à partir d'un click sur une entrée d'une HorizontalList, comment faire?
J'ai cherché et pas trouvé de solution. Pouvez vous m'aider?
Merci d'avance pour vos éventuelles réponses.
![]()
bonjour le forum,
Je voudrais charger un mxml dynamiquement à partir d'un click sur une entrée d'une HorizontalList, comment faire?
J'ai cherché et pas trouvé de solution. Pouvez vous m'aider?
Merci d'avance pour vos éventuelles réponses.
![]()
Bonjour,
C'est un peu vague dit comme ça pourrais tu nous fournir plus de précisions ?charger un mxml dynamiquement
Tu veux quel genre de composants ? C'est quoi les données que tu devras fournir ?
Pour compléter ce que dit ellene, importer un mxml dynamiquement, ça a peut de sens... car un mxml est en quelque sorte un fichier as compilé en swf... et c'est tout... importer un mxml à l'exécution c'est pas trop l'esprit de flex (dans sa version 1 c'était possible mais c'était loin, très loin d'être optimal...)
mais j'ai l'impression que tu as juste besoin d'une viewstack non?
Sinon pour reprendre ellene, donne ton vrai besoin pour savoir si tu as la bonne démarche au départ...
Merci pour vos réponses, c'est vrai j'ai été un peu avare en explications..
voila : j'ai un composant mxml qui présente une horizontalListe permettant de restreindre la consultation de l'application flex principal :
dans la fonction hlist_doubleClick (après Alert) j'aimerais charger mon application MXML. Mais peut etre je fais fausse route.. merci pour votre patience..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 <?xml version="1.0" encoding="utf-8"?> <mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:views="fr.cnamts.sand.flex.view.*" xmlns:business="fr.cnamts.sand.flex.control.business.*" xmlns:control="fr.cnamts.sand.flex.control.*" xmlns:logging="fr.cnamts.sand.flex.logging.*" > <mx:Script> <![CDATA[ import mx.controls.Alert; import mx.collections.ArrayCollection; [Embed(source='assets/population.png')] private var icone:Class; [Bindable] private var src:ArrayCollection = new ArrayCollection([ {label:"Architecte", actif:true, icon:icone}, {label:"Chef de projet", actif:true, icon:icone}, {label:"Maîtrise d'ouvrage", actif:true, icon:icone}, {label:"Développeur", actif:true, icon:icone} ]); public function hlist_doubleClick(evt:Event):void{ Alert.show(evt.currentTarget.valueOf().toString()); } ]]> </mx:Script> <mx:Canvas> <mx:Image top="0" left="0" source="assets/logoSAND.gif" /> <mx:HorizontalList id="hList" height="75" width="320" columnWidth="60" dataProvider="{src}" x="20" y="10" click="hlist_doubleClick(event)" change="explorateurSAND"/> <mx:Form x="10" y="93" visible ="{hList.selectedItem != null}" backgroundColor="#EEEEEE"> <mx:FormHeading label="Informations : "/> <mx:FormItem label="Nom de vue :"> <mx:Label text="{hList.selectedItem.label}" /> </mx:FormItem> <mx:FormItem label="description"> <mx:Label text="{hList.selectedItem.actif}" /> </mx:FormItem> </mx:Form> </mx:Canvas> </mx:Panel>
Charger une application différente ? Ou simplement un composant ?j'aimerais charger mon application MXML
Comme le dit Kantizbak une application MXML a peu de sens. Est ce une application déjà compilé ou un composant que tu souhaites exploiter ?
Bon je ne sais pas si c'est que tu veux faire, masi de ce que j'ai compris, voilà comment je le ferait :
- soit tu gère des droits et tu peux afficher / cacher des composants au sein du même container, alors tu peux jouer avec les visible et includeInLayout (en utilisant un modèle contenant des booleens, masi bon ça c'est optionnel, chacun sa vision)
- soit tu veux vraiment "charger" un autre composant dynamiquement, alors tu devrais penser au Modules (que je trouve de plus en plus pratiques...) ; tu peux créer une autre application swf (un module) et le charger dynamiquement au sein d'un container (Box ou Panel pas ex)
mais bon je dis ça je suis mm pas sûr d'avoir compris ton pb![]()
Partager