2008-11-11 13 views
4

Dans mon application Flex, j'ai créé une Tilelist. Dans cette Tilelist, j'utilise un ItemRenderer pour créer une boîte composée d'une image et d'un VSlider dans chaque tuile.Problème de glisser-déposer dans une Tilelist en utilisant un ItemRenderer

La vignette doit pouvoir être déplacée lorsque vous cliquez sur l'image, mais ne peut pas être déplacée lorsque vous faites glisser le curseur. Comment puis-je atteindre cet objectif ? Je me suis gratté la tête en cherchant sur Google pour un jour et je n'ai vraiment aucune idée.

Je me réjouis de votre aide. Merci.

Répondre

1

J'ai trouvé une solution à mon problème, mais ce n'est peut-être pas la meilleure solution.

En utilisant ceci:

 public var overImage:Boolean = false; 

     public function checkAllow(evt:DragEvent):void { 

      if(overImage == false) 
      { 
       evt.preventDefault() 
      } 
     } 

     public function isOverImage():void { 
      overImage = true; 
     } 

     public function isOutImage():void { 
      overImage = false; 
     } 

J'appelle ces fonctions comme ceci:

Sur mon composant d'image

mouseOver="outerDocument.isOverImage()" mouseOut="outerDocument.isOutImage()" 

Et pour mon TileList, je l'ai fait

Tiles.addEventListener(DragEvent.DRAG_START, checkAllow); 

J'espère que ça aide certaines personnes.

0
problème
  if(event.target is ScrollThumb) 
     { 
      return; 
     } 

résolu en retournant la propriété ScrollThumb de sroller dans la méthode imageDragStart ...

BackGround: Mon TileList est fourni avec mouseDown = "event.currentTarget.addEventListener (MouseEvent.MOUSE_MOVE, imageDragStart)";

qui était d'effectuer TileList complet avec changeurs,

Ce ci-dessus était la température fixe, mais attend des suggestions d'experts.

Fondamentalement, ceci est pour l'application native (AIR), utilisé NativeDragStart. mais je suis forcé d'utiliser mouseDown sur mon TileList pour appeler la méthode imageStartDrag() de la mienne ....