Y at-il un moyen de déclarer un composant enfant dans mxml qui est privé/protégé ou même statique?Composant enfant statique/privé dans mxml?
Bien sûr, nous pouvons le faire dans une balise de script, mais y a-t-il un autre moyen?
Y at-il un moyen de déclarer un composant enfant dans mxml qui est privé/protégé ou même statique?Composant enfant statique/privé dans mxml?
Bien sûr, nous pouvons le faire dans une balise de script, mais y a-t-il un autre moyen?
Ashier suggère d'utiliser la balise de métadonnées « Exclure », mais Maskit offre à ses limites et propose des solutions alternatives:
http://blog.ashier.com/2008/03/25/hiding-properties-in-flex-components/
http://smaskit.blogspot.com/2008/07/making-mxml-subcomponent-private.html
Au sens strict de ces termes, ne vous ne pouvez pas faire cela en utilisant mxml. Le deuxième lien posté par Luis contient quelques solutions de contournement pour le comportement privé/protégé.
J'ai trouvé une solution à la question statique. Je voulais un bloc-notes rapide qui pourrait être accessible n'importe où dans l'application mobile, sans qu'une modification de l'instance ne reste ouverte sur un autre écran.
J'ai créé un contrôle mxml de bloc-notes, puis l'ai placé dans une section de déclarations dans l'application de niveau supérieur mxml. Dans chaque vue que je voulais que le mémo apparaisse, j'ai ajouté:
import mx.core.FlexGlobals;
import components.QuickMemo;
private var memo:QuickMemo;
Dans la création de la vue complète:
memo = FlexGlobals.topLevelApplication.memo;
Dans le code viewActivation, j'ai ajouté:
memo.visible = false;
addElement(memo);
Dans la vue Code de désactivation, j'ai inclus:
removeElement(memo);
L'effet net est qu'une seule instance du mémo existe à tout moment et qu'une instance s'ouvre dans l'état où elle se trouvait dans la dernière vue dans laquelle elle est apparue.
La solution suggérée dans le 2ème lien est assez bonne (+1 pour ça). Mais toujours aucun de ces composants enfants statique :( –
a accepté cette réponse, car il est la seule chose qui peut être fait jusqu'à présent.Espoir Flex 5 soutiendra mxml static/private :( –