Как реализовать пользовательский контейнер с разделителями в Flex 4? - PullRequest
3 голосов
/ 22 июля 2010

Я хочу реализовать пользовательский HDividedBox с помощью Flex 4 API. Сплиттер должен быть динамической частью кожи. Я не могу найти никаких примеров элементов управления, где положение частей кожи должно быть рассчитано в зависимости от количества детей и их размеров. Похоже, что этот тип управления не вписывается в стандартную модель Flex 4: Skin, Control, Layout. Может кто-нибудь дать мне несколько советов по этому поводу?

1 Ответ

4 голосов
/ 02 сентября 2011

В нашем последнем проекте нам пришлось реализовать Splitter , но мы подошли к этому с несколько иной точки зрения.Мы решили, что создание компонента HDividedBox недостаточно гибкое - представьте себе случай, когда вам потребуется расширить пользовательский интерфейс с помощью дополнительного разделителя, чтобы у вас было 3 области, разделенные на 2 разделителя ... Разделительдолжен быть как-то отделен от фактических контейнеров, которые разделены им.

Я попытаюсь обобщить наше решение:

<s:VGroup>
    <components:Container1 id="container1"/>
    <components:Splitter id="splitter" 
        topComponent="{container1}" 
        bottomComponent="{container2}" />
    <components:Container2 id="container2"/>
</s:VGroup>

Компонент Splitter - это компонент с относительно простым поведением - в зависимости от того, как вы его перетаскиваете, вы обновляете высоту container1 .

Я знаю, что не обращаюсь к вашему техническому вопросу, но иногда более целесообразно переформулировать проблему и решить ее немного по-другому.Это часто приводит к более элегантному решению, как в случае выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...