所以我有這個標題邊框在flex4自定義皮膚,我正在拖放應用程序,我遇到了一些問題。Flex標題邊框拖放禁用拖動標題邊框的孩子
當我發起組成部分,我能拖它的孩子,但不是titledborderbox本身,例如在拖放:我可以抓住的標籤,或按鈕,這是這個盒子裏面,我可以開始拖動但它不是所需的功能。我應該可以點擊標題邊框上的任意位置,然後將帶有孩子的整個組件拖到新的位置。我已經嘗試過mouseChildren = false,但是這會禁用兒童上的事件,這是不好的,因爲有些孩子是我必須能夠與之交互的按鈕。有什麼解決方法可以解決這個問題嗎?
我的標題邊框容器在HGroup中,我希望能夠將標題邊框放在特定位置,例如:如果我有4個標題邊框容器,並且我開始拖動最後一個容器,那麼我希望能夠將其放置在HGroup容器的位置1處,但拖放管理器始終將放置的項目放在組中的最後一個項目中,是否有解決方案?
我必須使用這種佈局,我不能更改爲其他佈局,我找不到任何正在嘗試實現的例子,甚至有可能嗎?任何幫助表示感謝,謝謝。這裏是我拖着代碼:
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);
}