![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2007
Сообщений: 44
|
Я пытаюсь добавить кастомных стилей к компоненте расширяющей mx:Panel. Вот что я делаю:
Файлик skin.css Внутри mxml'ки: И в файлике VideoPanel.as у меня: [Style(name="someStyle",type="String",inherit="no")]
public class VideoPanel extends Panel
{
private static var classConstructed:Boolean = classConstract();
private static var classConstruct():Boolean
{
if( StyleManager.getStyleDeclaration("VideoPanel") == null )
{
var newStyle:CSSStyleDeclaration = new CSSStyleDeclaration();
newStyle.setStyle("someStyle","HelloWorld")
StyleManager.setStyleDeclaration("VideoPanel",newStyle,true);
}
return true;
}
override public function styleChanged(styleProp:String)
{
super.styleChanged(styleProp);
if( styleProp=="someStyle" )
{
// тут стоит breakpoint
}
}
...
}
Проблема в отм, что брейкпоин не достигается. В любом случае даже если я ставлю брейкпоинт на строчку super.styleChanged(styleProp); и смотрю значение styleProp, - оно null оба раза, когда там останавливается дебаггер. Но стиль borderSkin (который родной для mx:Panel) к моей компоненте применяется, даже при том условии, что самое значение "borderSkin" никогда не проходит через методstyleChanged(). Я понимаю работу со стилями неправильно? Как стиль borderSkin может примениться к компоненте, если он никогда не проходил через методstyleChanged()? И как мне заставить мой "someStyle" примениться к моей компоненте ? Any help is appreciated. PS: I've read the entire part of Adobe Create And Extend Flex 3 Components book about styling... But it didn't help me.
__________________
hell no ! Последний раз редактировалось romantique; 13.10.2008 в 11:54. |
![]() |
Часовой пояс GMT +4, время: 13:09. |
|
|
« Предыдущая тема | Следующая тема » |
|
|