Как да накарам скин да знае за промените в стойността на свойството на hostComponent?

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

Опитах се да превърна това boolean свойство на hostComponent в SkinPart и при инициализацията на кожата зададох ChangeWatcher на това свойство, което да задейства промяната на състоянието. Без пура. :(

Какъв е начинът да промените състоянието на кожата чрез hostComponent?


person Dan    schedule 21.10.2011    source източник


Отговори (1)


What's the way to make the skin's state change through the hostComponent?

Извикайте invalidateSkinState() в свойството на вашия hostComponent.

Това от своя страна ще принуди commitProperties да се изпълни отново по време на следващото събитие за изобразяване, което от своя страна ще принуди getCurrentSkinState() да се изпълни отново, когато commitProperties се изпълни.

Уверете се, че вашият hostComponent изпълнява getCurrentSkinState() и връща стойността на низа, представляваща състоянието, към което искате да отидете.

person JeffryHouser    schedule 21.10.2011