2009-05-21 10 views
0

J'ai deux Canvas A et B, A est l'enfant de B. A peut être redimensionné par certaines actions de l'utilisateur comme l'ajout de certains composants de l'interface utilisateur à sa base. A est délimité par un autre canevas Parent B qui devrait montrer des poignées de réprimandes si son enfant A devient trop grand.Flex redimensionnement Toile où mettre un tel code? (schéma à l'intérieur)

Je voudrais un avoir la même largeur et la hauteur B (ou très proche) tandis que la largeur calculée et la hauteur de A est inférieure à celles de B.

Si w ou h d'un plus grand que se ceux de B alors A devraient croître et B affichera le défilement. J'espère que c'est un peu clair.

Ma question est où et comment pourrais-je faire une telle logique?

canvas diagram http://www.picimg.com/uploads/18cd2277adde7d50da2bc708075f4fac.png

Répondre

1

La classe dont UIComponent Canvas hérite a une minHeight et une propriété minWidth. Vous pouvez lier minHeight/Width de A à la largeur et la hauteur de B, donc à chaque fois que B est redimensionné, les dimensions minimales de A changent également. La liaison à une expression est également prise en charge (voir l'exemple ci-dessous). B affiche automatiquement les barres de défilement lorsque A devient trop grand pour être affiché en une seule fois, il vous suffit de fournir une hauteur et une largeur fixes (ou une autre contrainte de taille). A redimensionne automatiquement une fois que vous ajoutez des enfants.

<mx:Canvas id="B" width="..." height="..."> 
    <mx:Canvas id="A" minHeight="{B.height-20}" minWidth="{B.width-20}"> 
     <!-- your content widgets --> 
    </mx:Canvas> 
</mx:Canvas> 
0

Tout ce que vous avez besoin est de définir la stratégie de défilement B pour être auto. De cette façon, si A est trop grand, B aura des barres de défilement. Cela devrait être fait dans le MXML.

<mx:Canvas name="B" width=100 height=100 scrollPolicy="auto"> 
    <mx:Canvas name="A" width=90 height=90> 
     ... 
    </mx:Canvas> 
</mx:Canvas> 
+0

La valeur par défaut de la stratégie de défilement est automatique. –