2008-11-11 34 views
4

在我的Flex應用程序中,我創建了一個Tilelist。在這個Tilelist中,我使用ItemRenderer在每個圖塊中創建一個由圖像和VSlider組成的框。使用ItemRenderer在Tilelist中拖放問題

當您單擊圖像時,該圖塊需要可拖動,但在滑動滑塊時不能拖動。我怎樣才能做到這一點?我一直在谷歌上搜索一天,我真的不知道。

我期待您的幫助。 謝謝。

回答

1

我找到了我的問題的解決方案,但它可能不是最好的。

使用此:

 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; 
     } 

我調用這些函數是這樣的:

在我的圖像組件

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

而對於我的TileList我這樣做

Tiles.addEventListener(DragEvent.DRAG_START, checkAllow); 

希望它幫助一些人。

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

問題通過返回在imageDragStart方法sroller的scrollThumb屬性解決...

背景:我的TileList設置有鼠標按下= 「event.currentTarget.addEventListener(的MouseEvent.MOUSE_MOVE,imageDragStart)」;

這與滾輪一起實現完整的TileList,

這上面是臨時修復,但希望專家的建議。

基本上這是針對本地應用程序(AIR)使用的NativeDragStart。但我不得不在我的TileList上使用mouseDown來調用我的imageStartDrag()方法....