Flex HDividedBox可防止拖动

时间:2010-02-23 00:44:40

标签: flex

我希望能够根据条件阻止拖动HDividedBox的分频器。例如:

<mx:HDividedBox id="hd1" liveDragging="true" dividerDrag="dividerDragHandler(event)">

    <Canvas id="c1"/>
    <Canvas id="c2"/>

</HDividedBox>

private function dividerDragHandler(event:DividerEvent):void  
{  
if (_something > 10)  
    {  
        event.preventDefault();  
    }  
}  

我有什么想法可以做那样的事情吗?而且我宁愿不要弄乱儿童画布的宽度。感谢。

3 个答案:

答案 0 :(得分:1)

可能不理想,但here's a hack隐藏了flexexamples的分隔符控件。

答案 1 :(得分:0)

您可以在画布上设置minWidth。试试吧。

DividerEvent将在HBox中的MouseEvent.MOUSE_MOVE上发送,而忽略preventDefault()stopImmediatePropagation(),因此这些方法在那里不会做太多。这有效:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml">

    <mx:HDividedBox id="hd1" liveDragging="true">
        <mx:Panel width="100" minWidth="40" id="c1"/>
        <mx:Panel width="200" minWidth="100" id="c2"/>
    </mx:HDividedBox>

</mx:Application>

答案 2 :(得分:0)

我还发现你可以通过将horizo​​ntalGap样式值设置为零来有效地删除拖动句柄并禁用HDividedBox或VDividedBox的大小调整。