折りたたみ可能なパネルを備えたGUIを備えたプロジェクトがあります。これらのパネル内には、「ステージ」領域にドラッグアンドドロップできるアイテムがあり、メディア要素がステージに追加されます。私はこの折りたたみ可能なパネルコードを使用しています:http ://www.iwobanas.com/2009/09/creating-collapsible-panel-in-flex-4/
ただし、ユーザーがパネルを好きな場所に移動できるように、このGUIも変更可能である必要があります。
パネル上で単純なドラッグ/ドロップシステムを試してみましたが、2つの主要な問題がありました
ドラッグイベントを追加すると、パネルを折りたたむ機能が削除されました(どちらもマウスイベントであったため)
パネルを「ステージ」にドラッグすると、メディア要素と同じように扱われ、明らかにメディア要素ではないため、nullオブジェクト参照がスローされます。
そこで、メディア要素ではないものを無視するためにifステートメントを追加すると思いました。これもうまくいきませんでした、私は情報を追跡しました、
var itemTL:TileList = event.dragInitiator as TileList;
trace("This is the Dragged init " + itemTL.selectedItem.appListElement);
ただし、メディア要素とパネル自体の両方が同様の情報をトレースしますが、ifステートメントを作成するために実際に引き出すことはできません。
そのため、ステージ内を移動できるが、パネル自体の情報のように実際にはステージに追加されない折りたたみ可能なパネルを作成する方法については、ちょっと迷っています。