2012-03-12 4 views
0

私はskinnableContainerを持っています。これは他のドラッグアンドドロップ可能なアイテムのコンテナとして機能します。このコンテナのドロップ機能は、コンテナが追加されるのと同時にその親から追加されます。カスタムドラッグアンドドロップコンポーネント:スキンを追加すると、ドラッグアンドドロップは機能しなくなりましたか?

skinnableContainerにスキンクラスを追加するまで、これはすべて正常に動作します。以前はドラッグ可能なアイテムはコンテナにドロップできなくなりました。

スキン内からコンテンツをラップするGroupコンポーネントが何とかブロックとして機能していると仮定しますが、ドロップ機能を許可する方法がわかりません。

アイデア?以下

EDIT皮膚コード:

<?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> 
+0

コードなし:できません。ああ、野生の推測:そのカスタムスキンに透明性はありますか? – RIAstar

+0

上記のスキンコードを追加しました。ソリッドカラーストロークにアルファ= '0.5'がありますか? – bmilesp

答えて

0

カスタムスキンは、したがって、それは国境を除いて完全に透過的ですが、何の背景の塗りつぶしを持っていません。このため、あなたのアイテムを落とすための「ヒットゾーン」はありません(今は、1pxのボーダーを正確にターゲットにしている場合は、おそらくドロップすることができます)。

解決策は、明らかに、それに塗りつぶしを与えることです。心配する必要はありません。透明に見せたい場合は、alpha0に設定してください。

<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> 
+0

優秀!ありがとうございました! – bmilesp

関連する問題