所以我有这个标题边框在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);
}