Во Flex какая разница между скином и itemRenderer? - PullRequest
2 голосов
/ 11 ноября 2009

Действительно, они оба (скины и itemRenderers), кажется, рисуют, используя пакет flash.graphics. *. Я уже копировал вставленный код между скинами и itemRenderers, так что я действительно не понимаю разницу. У меня было больше опыта реализации itemRenderers, чем скинов, так что это может быть частью проблемы. Спасибо, дайте мне знать.

1 Ответ

4 голосов
/ 11 ноября 2009

Скин - это графический элемент, который можно применять к различным компонентам UIC. Контейнеры могут иметь borderSkins, а кнопки могут иметь различные скины вверх / вниз / вниз. Они могут быть реализованы несколькими способами, включая использование API рисования («Программные оболочки») или посредством встраивания ресурсов («Графические оболочки»). Скины, как правило, довольно легкие и могут быть только Flash DisplayObject, а не Flex UIComponent, который является более тяжелым, но содержит гораздо больше функций.

ItemRenderer - это обычно UIComponent, который элемент управления на основе списка использует для отображения элемента. Вы также обычно используете itemRenderers при использовании DataGrid / DataGridColumn. Большинство компонентов, использующих itemRenderers, перерабатывают их, что означает, что они создают примерно столько, сколько необходимо для отображения на экране, и когда пользователь прокручивает данные, те же самые itemRenderers перемещаются и получают новые данные, подключенные к ним. Это одна из причин, по которой списки и DataGrid могут поддерживать большие объемы данных и почему попытки выполнить аналогичные действия с помощью Repeater приводят к приложениям с ужасной производительностью.

...