Flex 4: нисходящая вертикальная группа данных? - PullRequest
0 голосов
/ 13 августа 2010

В настоящее время я работаю над приложением-преобразователем в стиле Photoshop для работы с объектами DisplayObject в качестве слоев. У меня есть ArrayCollection, которая служит моим поставщиком данных для моего списка значений, но проблема в том, что элементы отображаются в списке в порядке возрастания:

0 - Item 1
1 - Item 2
2 - Item 3
3 - Item 4

Поскольку это приложение менеджера слоев, мне нужно, чтобы элементы отображались в порядке убывания, например:

3 - Item 4
2 - Item 3
1 - Item 2
0 - Item 1

Это потому, что слой 0 находится внизу стека, в то время как слой 3 находится вверху, а не наоборот, как Flex в настоящее время отображает вещи.

Я знаю, что могу просто применить Sort к моей ArrayCollection, чтобы отсортировать элементы в обратном порядке, но это нарушает функциональность моего приложения. Мне было интересно, можно ли существенно изменить мой Spark List или DataGroup, чтобы макет отображал элементы в обратном направлении. Кто-нибудь знает короткий путь, чтобы сделать это?

1 Ответ

1 голос
/ 09 декабря 2010

Вот подсказка (я все еще работаю над этим): Я создал класс VerticalReversedLayout.as, основанный на VerticalLayout. В updateDisplayListVirtual и / или updateDisplayListReal есть для (var ...) позиционирования дочерних элементов по оси y, просто инвертируйте направление цикла. Затем вы просто назначаете этот макет вашему DataContainer (или List в моем случае). Работает отлично.

Если вы используете функцию dragMove, вам, возможно, придется изменить и CalculateDropIndex.

...