Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   styleName в динамически созданных элементах (http://www.flasher.ru/forum/showthread.php?t=112849)

lephik 10.06.2008 11:31

styleName в динамически созданных элементах
 
Привет всем.
Проблема такая - в компоненте созданном через new и добавленом в контейнер через addChild при замене свойства styleName в одном из вложенных компонентов этого динамического компонента ничего не присходит... стиль не меняется. Подскажите как с этим бороться.

Спасибо. :bye:

romulko 10.06.2008 23:22

А можно архивчик проекта? Так быстрее решим проблему ;)

moron 11.06.2008 11:05

В коде компонента следует проверить:
1.) наличие перед определением класса тега
Код:

[Style(name="style_name"[,property="value",...])]
который определяет нужный вам стиль

2.) наличие внутри класса
Код:

override public function styleChanged(styleProp:String):void {...}
т.е. функции, которая фиксирует изменение вышеопределённого стиля

3.) внутри функции styleChanged() после того места, где фиксируется изменение стиля, должен присутствовать вызов
Код:

invalidateDisplayList();
(который вызовет функцию updateDisplayList() при рендеринге следующего кадра)

4.) наличие внутри класса
Код:

override protected function updateDisplayList(unscaledWidth:Number,
                                                  unscaledHeight:Number):void

т.е. функции, в которой, например, по флагу изменения стиля соответсвующим образом меняется компонент

подробнее про стили здесь: http://livedocs.adobe.com/flex/3/htm...instyle_1.html


Часовой пояс GMT +4, время: 02:37.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.