Используя SDK 4.1, я смог получить доступ к пользовательским свойствам пользовательского компонента кнопки из пользовательского скина. Проект, в котором я сейчас работаю, требует SDK 4.5, и я не могу получить доступ к свойствам. Вот пример:
Компонент пользовательской кнопки
<?xml version="1.0" encoding="utf-8"?>
<s:ButtonBase xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
skinClass="components.skins.ButtonIcon_Skin"
>
<fx:Declarations>
<fx:String id="iconCustom" />
</fx:Declarations>
</s:ButtonBase>
Скин пользовательской кнопки
<?xml version="1.0" encoding="utf-8"?>
<s:SparkButtonSkin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:fb="http://ns.adobe.com/flashbuilder/2009"
minWidth="21" minHeight="21"
alpha.disabled="0.5">
<fx:Metadata>[HostComponent("components.ButtonIcon")]</fx:Metadata>
...
<s:Label id="test" {hostComponent.iconCustom}"
horizontalCenter="0" bottom="10" />
</s:SparkButtonSkin>
Подсказка кода показывает hostComponent.iconCustom
, но затем выдает ошибку:
Access of possibly undefined property iconCustom through a reference with static type spark.components.supportClasses:ButtonBase. ButtonIcon_Skin.mxml