проблема перетаскивания в Tilelist с использованием ItemRenderer - PullRequest
4 голосов
/ 12 ноября 2008

в своем приложении Flex я создал Tilelist. В этом Tilelist я использую ItemRenderer для создания поля, состоящего из изображения и VSlider в каждой плитке.

Плитка должна быть перетаскиваемой при нажатии на изображение, но не перетаскиваемой при перемещении ползунка. Как мне этого добиться? Я искал свою голову в поиске в Google в течение одного дня, и я действительно понятия не имею.

Я с нетерпением жду вашей помощи. Спасибо.

Ответы [ 2 ]

1 голос
/ 12 ноября 2008

Я нашел решение своей проблемы, однако оно может быть не лучшим.

Используя это:

        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()"

И для моего списка плиток я сделал это

Tiles.addEventListener(DragEvent.DRAG_START, checkAllow);

Надеюсь, это поможет некоторым людям.

0 голосов
/ 14 июня 2012
            if(event.target is ScrollThumb )
        {
            return;
        }

проблема решена путем возврата свойства scrollThumb sroller в метод imageDragStart ...

BackGround: Мой TileList предоставляется с mouseDown = "event.currentTarget.addEventListener (MouseEvent.MOUSE_MOVE, imageDragStart)";

, который выполнял полный TileList вместе со скроллером,

Это выше было временным исправлением, но ожидал предложений экспертов.

В основном это для Native Application (AIR), используется NativeDragStart. но я вынужден использовать mouseDown над моим TileList для вызова моего метода imageStartDrag () ....

...