Противоположность skinPart - PullRequest
0 голосов
/ 16 марта 2011

SkinParts - отличный способ добавить обработчики событий и логику к объекту, который создается в скине, вне любого бизнес-кода.Тем не менее, часто я хочу сделать обратное и определить части, которые будут использоваться в многоразовых контейнерах с поддержкой скинов, в родительских файлах mxml, которые будут вставлены в контейнеры с скинами.

Каков наилучший метод, когда вы хотите иметь возможность определить элемент управления и обложку, которые можно использовать повторно с различными элементами управления, вставленными извне обложки?

Редактировать: Лучшим способом для этого может быть то, что я хочу использовать что-то, что немного похоже на SkinnableContainer, но это не ограничивается одной областью, где может быть размещен контент.

1 Ответ

0 голосов
/ 16 марта 2011

Я нахожу ваш вопрос немного неточным, поэтому я не совсем уверен, что понимаю, что вы ищете.Но я собираюсь дать ответ на это выстрел.

SkinParts - отличный способ добавить обработчики событий и логику к объекту, который создается в оболочке вне любого бизнес-кода.

Я бы не сказал, что SkinParts позволяют нам добавлять обработчики событий или другую логику к объекту.Хотя с точки зрения разработки кажется, что скин (расширяющий скин) и бизнес-класс (расширяющий SkinnableComponent) и две отдельные сущности;во время выполнения они действительно кажутся обработанными как единое целое.

Я не углубился в реальный код фреймворка, но из того, что я понял, скин - это фактический экранный объект, добавленный к сцене,Ваш бизнес-класс как-то слился с ним.Если вы посмотрите на скины ActionScript, представленные в Flex Hero, то обнаружите, что им требуется свойство hostComponent, тип которого должен быть бизнес-классом.Я предполагаю, что это то, что Flex Compiler уже делает за кулисами во Flex 4.0 / 4.1, используя метаданные HostComponent.

Часто, однако, я хочу сделать противоположное

Противоположность чему?Вы хотите добавить обработчики событий для компонента внутри скина. Нет причин, по которым вы не можете этого сделать, хотя это не то направление, к которому Adobe подталкивает нас при создании компонентов в Spark Architecture.

Если вы хотитечтобы создать свои собственные «отдельные пакеты» данных и функций, которые можно легко использовать повторно, вы можете сделать это для.Любой компонент Spark, компонент Halo или не-Flex ActionScript Class можно использовать для простого использования этих повторно используемых объектов, которые затем можно повторно использовать в другом компоненте Spark или Halo.

Я не совсем уверен, отвечает ли это на вопрос,Но, если вы хотите уточнить, мы можем попытаться помочь как можно лучше.

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