Flex HDividedBox предотвращает перетаскивание - PullRequest
0 голосов
/ 23 февраля 2010

Я бы хотел предотвратить перетаскивание разделителя 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 ]

1 голос
/ 23 февраля 2010

Возможно, не идеал, но вот хак сокрытия элементов управления делителем от flexexamples .

0 голосов
/ 11 марта 2010

Я также обнаружил, что вы можете эффективно удалять маркеры перетаскивания и отключать размеры HDividedBox или VDividedBox, устанавливая значение стиля HorizontalGap в ноль.

0 голосов
/ 23 февраля 2010

Вы можете установить minWidth на своем холсте '. Попробуйте это.

DividerEvent отправляется на MouseEvent.MOUSE_MOVE в HBox, и он игнорирует 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...