したがって、カスタムスキンを使用してflex 4にこのtitledborderboxを持っています。ドラッグアンドドロップアプリケーションに取り組んでおり、いくつかの問題に遭遇しました。
そのコンポーネントでドラッグ アンド ドロップを開始すると、その子はドラッグできますが、titledborderbox 自体はドラッグできません。機能。titledborderbox の任意の場所をクリックして、コンポーネント全体とその子を新しい位置にドラッグできるはずです。私は mouseChildren = false を試しましたが、それは子のイベントを無効にします。この問題の回避策はありますか?どうすれば解決できますか?
私の titledborderbox コンテナは HGroup にあります。titledborderbox を特定の位置にドロップできるようにしたいと考えています。たとえば、4 つの titledborderbox コンテナがあり、最後のコンテナをドラッグし始めた場合、その位置に配置できるようにしたい1 は HGroup コンテナにありますが、ドラッグ マネージャはドロップされたアイテムを常にグループ内の最後のアイテムとして配置します。解決策はありますか?
このレイアウトを使用する必要があり、他のレイアウトに変更することはできません。達成しようとしていることの適切な例が見つかりません。それは可能ですか? どんな助けでも感謝します、ありがとう。ドラッグするための私のコードは次のとおりです。
private function handleStartDrag( evt:MouseEvent ):void
{
// grab the item renderer and relevant data
var dragItem:IUIComponent = evt.target as IUIComponent;
var dragSource:DragSource = new DragSource();
dragSource.addData( dragItem, "item" );
DragManager.doDrag( dragItem, dragSource, evt );
this.buttonMode = true;
}
protected function handleDragEnter( evt:DragEvent ):void
{
if( evt.dragSource.hasFormat( "item" ) )
DragManager.acceptDragDrop( evt.target as IUIComponent );
}
protected function handleDragDrop( evt:DragEvent ):void
{
var dragItem:Object = evt.dragSource.dataForFormat( "item" );
var dragItemOwner:Group = ( dragItem.owner as Group );
dragItemOwner.removeElement( dragItem as IVisualElement );
var targetOwner:Group = ( evt.target as Group );
targetOwner.addElement( dragItem as IVisualElement );
}