Пользовательский компонент перетаскивания: когда я добавляю обложку, перетаскивание больше не работает? - PullRequest
0 голосов
/ 12 марта 2012

У меня есть skinnableContainer, который действует как контейнер для других перетаскиваемых и сбрасываемых предметов. Функция удаления этого контейнера добавляется от его родителя одновременно с добавлением контейнера.

Это все работает нормально, пока я не добавлю класс скина в skinnableContainer, теперь ни один из перетаскиваемых элементов не может упасть в контейнер, как это было раньше.

Я предполагаю, что компонент Group, обертывающий содержимое из скина, каким-то образом действует как блок, но я не уверен, как разрешить функцию перетаскивания через него?

Есть идеи?

РЕДАКТИРОВАТЬ код кожи ниже:

<?xml version="1.0" encoding="utf-8"?>
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark" alpha.disabled="0.5">

<fx:Metadata>
    [HostComponent("spark.components.SkinnableContainer")]
</fx:Metadata> 

<s:states>
    <s:State name="normal" />
    <s:State name="disabled" />
</s:states>

<!-- layer 1: border -->
<s:Rect left="0" right="0" top="0" bottom="0" radiusX="5" radiusY="5">
    <s:stroke>
        <s:SolidColorStroke color="0" alpha="0.50" weight="1" />
    </s:stroke>
</s:Rect>

<s:Group id="contentGroup" left="0" right="0" top="0" bottom="0"  >
    <s:layout>
        <s:VerticalLayout/>
    </s:layout>
</s:Group>
</s:Skin>

1 Ответ

0 голосов
/ 13 марта 2012

Ваш пользовательский скин не имеет фоновой заливки, поэтому он полностью прозрачен, за исключением границы.Из-за этого не существует «зоны попадания», куда можно было бы бросать свои предметы (сейчас вы, вероятно, сможете отбросить их, если нацелитесь точно на эту границу в 1 пиксель).

Решение - очевидно, - дать емузаполнить.Не беспокойтесь, если вы хотите, чтобы он выглядел прозрачным, просто установите alpha на 0.

<s:Rect left="0" right="0" top="0" bottom="0" radiusX="5" radiusY="5">
    <s:fill>
        <s:SolidColor alpha="0" />
    </s:fill>
    <s:stroke>
        <s:SolidColorStroke alpha="0.50" />
    </s:stroke>
</s:Rect>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...