Как сделать скин осведомленным об изменениях значения свойства hostComponent? - PullRequest
0 голосов
/ 22 октября 2011

Я пишу компонент и его скин.Скин имеет состояние "selected", в котором он отображает вещи с соответствующим свечением.Случается так, что состояние , в котором выбрано , сохраняется в свойстве hostComponent, которое устанавливается / сбрасывается извне (не путем непосредственного взаимодействия с пользователем в скине).

Iпопытался сделать это свойство boolean для hostComponent a SkinPart, и при инициализации скина установить ChangeWatcher для этого свойства, которое вызовет изменение состояния.Никакой сигары.:(

Как можно изменить состояние кожи через hostComponent?

1 Ответ

1 голос
/ 22 октября 2011
What's the way to make the skin's state change through the hostComponent?

Вызовите invalidateSkinState () в свойстве hostComponent.

Это, в свою очередь, заставит commitProperties перезапускаться во время следующего события рендеринга, что, в свою очередь, заставит getCurrentSkinState () повторно запускаться при запуске commitProperties.

Убедитесь, что ваш hostComponent реализует getCurrentSkinState ()и возвращает строковое значение, представляющее состояние, в которое вы хотите перейти.

...