Добрый вечер... Вообщем встала задача сделать видеочат, я решил реализовать это через datagroup и itemrenderer... ArrayCollection имеет вид {name:имя пользователя, rating:его рейтинг, stream:экземпляр потока})
Скармливаю эти данные itemrenderer таким образом:

Код:
<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
autoDrawBackground="true">
<s:BorderContainer id="bc" width="200" height="180" backgroundColor="#DEDEDE"
dropShadowVisible="true" borderVisible="false">
<mx:UIComponent id="uic" width="200" height="164">
<mx:creationComplete>
<![CDATA[
var video:Video = new Video;
video.width = uic.width;
video.height = uic.height;
uic.addChild(video);
if(data.stream == 0){
var c:Camera = Camera.getCamera();
c.setMode(320,240,30);
video.attachCamera(c);
}else{
var stream:NetStream = data.stream as NetStream;
video.attachNetStream(stream);
}
]]>
</mx:creationComplete>
</mx:UIComponent>
<s:HGroup x="10" y="167" width="44" height="11" verticalAlign="middle">
<s:Image width="14" height="13" smooth="true" smoothingQuality="high" source="img/user.png"/>
<s:Label color="#005281" depth="1" fontWeight="bold" text="{data.name}"/>
</s:HGroup>
<s:HGroup x="144" y="167" width="44" height="11" verticalAlign="middle">
<s:Image width="14" height="15" source="img/топ юзеров.PNG"/>
<s:Label color="#C1761E" depth="2" fontWeight="bold"
text="{data.rating}" textAlign="right"/>
</s:HGroup>
</s:BorderContainer>
</s:ItemRenderer>
Естественно объект data.stream не имеет привязки, в результате чего, со временем перестает совпадать с именем, рейтингом, меняет местоположение, вообщем ведет себя достаточно хаотично, в результате возникает вопрос, как можно использовать здесь привязку, если объект video не имеет аналогов в mxml формате?
Добавлено через 2 часа 4 минуты
нашел такой выход:

Код:
<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
autoDrawBackground="true">
<fx:Script>
<![CDATA[
[Bindable]
public var stream:NetStream;
]]>
</fx:Script>
<fx:Binding source="{data.stream}" destination="stream"/>
<s:BorderContainer id="bc" width="200" height="180" backgroundColor="#DEDEDE"
dropShadowVisible="true" borderVisible="false">
<mx:UIComponent id="uic" width="200" height="164">
<mx:creationComplete>
<![CDATA[
var video:Video = new Video;
video.width = uic.width;
video.height = uic.height;
uic.addChild(video);
if(stream == null){
var c:Camera = Camera.getCamera();
c.setMode(320,240,30);
video.attachCamera(c);
}else{
video.attachNetStream(stream);
}
]]>
</mx:creationComplete>
</mx:UIComponent>
<s:HGroup x="10" y="167" width="44" height="11" verticalAlign="middle">
<s:Image width="14" height="13" smooth="true" smoothingQuality="high" source="img/user.png"/>
<s:Label color="#005281" depth="1" fontWeight="bold" text="{data.name}"/>
</s:HGroup>
<s:HGroup x="144" y="167" width="44" height="11" verticalAlign="middle">
<s:Image width="14" height="15" source="img/топ юзеров.PNG"/>
<s:Label color="#C1761E" depth="2" fontWeight="bold"
text="{data.rating}" textAlign="right"/>
</s:HGroup>
</s:BorderContainer>
</s:ItemRenderer>
не уверен, что не криво