Можно ли создавать скины с компонентами в MXML с использованием архитектуры компонентов Spark? - PullRequest
3 голосов
/ 14 октября 2010

Существует множество примеров того, как создавать компоненты с поддержкой скинов в AS3 с использованием новой архитектуры компонентов Spark, однако я пока не нашел таких примеров с использованием MXML.

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

1 Ответ

3 голосов
/ 15 октября 2010

Насколько я могу судить, это невозможно, потому что - как вы правильно заметили, в MXML невозможно назначить метаданные на уровне свойств.

Но объявление контрактов скина в MXML выглядит какэто пошло бы вразрез с духом архитектуры Skinning, которая заключается в том, чтобы отделить представление компонента от логики его реализации.

И, учитывая, что все в объявленном MXML имеет значение, он по своей сути связывает компонент сskin.

Т.е.:

<!-- labelDisplay has a value -->
<s:Label id="labelDisplay" />

vs

[SkinPart]
public var labelDisplay:Label; // labelDisplay == null;

Аналогично, большая часть самой логики компонента будет заканчиваться блоком <fx:Script />, который, вероятно, будетлучше подходить в отдельном классе.

...