#apache-flex #flex4.5 #skinning #flex-spark
#apache-гибкий #гибкий трубопровод4.5 #снятие шкуры #flex-spark
Вопрос:
Я пишу компонент и его оболочку. Кожа находится в таком "selected"
состоянии, когда она придает вещам соответствующее свечение. Бывает так, что выбранное состояние удерживается в свойстве в hostComponent
, которое устанавливается / отключается извне (не путем прямого взаимодействия пользователя с оболочкой).
Я попытался создать это boolean
свойство hostComponent
для a SkinPart
, и при инициализации скина настроил a ChangeWatcher
для этого свойства, которое вызвало бы изменение состояния. Никакой сигары.
Каков способ изменить состояние кожи с помощью hostComponent
?
Ответ №1:
What's the way to make the skin's state change through the hostComponent?
Вызовите invalidateSkinState() в свойстве вашего hostComponent .
Это, в свою очередь, заставит commitProperties перезапускаться во время следующего события рендеринга, что, в свою очередь, заставит getCurrentSkinState() повторно запускаться при запуске commitProperties.
Убедитесь, что ваш hostComponent реализует getCurrentSkinState() и возвращает строковое значение, представляющее состояние, в которое вы хотите перейти.