PDA

Просмотр полной версии : CSS для itemRenderer


Alex_B
29.05.2008, 16:56
К примеру вот такой горизонтальный список:
<mx:HorizontalList id="hList"
itemRenderer="FotoListItem">
</mx:HorizontalList>

FotoListItem
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:VBox styleName="itemVBox">

<mx:Image />
<mx:Text />

</mx:VBox>
</mx:Canvas>

как задать стили для itemVBox?

Например вот так не работает:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

<mx:HorizontalList id="hList"
itemRenderer="FotoListItem">
</mx:HorizontalList>

<mx:Style>
.itemVBox
{
backgroundColor: #741212;
}
</mx:Style>

</mx:Application>

baron27
29.05.2008, 17:00
задай стили в самом компоненте.

Alex_B
29.05.2008, 17:13
Вот так тоже не работает:
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:VBox styleName="itemVBox">

<mx:Image />
<mx:Text />

</mx:VBox>

<mx:Style>
.itemVBox
{
backgroundColor: #741212;
}
</mx:Style>

</mx:Canvas>

вообщем хочу вытащить оформление в отдельный CSS файл. Проблема в том что добраться до самодельного компонента, который указан в itemRenderer, не получается.

Это вообще возможно?

Alex_B
29.05.2008, 17:31
Еще заметил что ширину и высоту в стилях задавать не получается:

<mx:HorizontalList styleName="sss">
</mx:HorizontalList>

<mx:Style>
.sss
{
themeColor: #D2CECE;
columnWidth: 300;
}
</mx:Style>

Цвет (D2CECE) задался, а вот ширина (300) нет

baron27
29.05.2008, 19:38
Вот, у меня все в порядке. Посмотри, может где переопределяешь или просто твоих боксов не видно?

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable] private var dp:ArrayCollection = new ArrayCollection([{"id":"0"}, {"id":"1"}])

]]>
</mx:Script>

<mx:Style>
.itemVBox
{
backgroundColor: #741212;
}
</mx:Style>
<mx:HorizontalList id="hList" itemRenderer="FotoListItem" dataProvider="{dp}" />
</mx:Application>

<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100" height="100">
<mx:VBox styleName="itemVBox" width="100%" height="100%">

<mx:Image />
<mx:Text />

</mx:VBox>
</mx:Canvas>

Alex_B
30.05.2008, 14:55
Сегодня заработало. )