ok guy Мне действительно нужен супермод на этом, теперь я вытащил все свои волосы, я просто хочу бросить полотенце на этом, хорошо, у меня есть компонент itemrender, который вы можете видеть нижеПроблема с привязкой внутри itemRender
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" horizontalScrollPolicy="off"
creationComplete="hbox1_creationCompleteHandler(event)">
<mx:Script>
<![CDATA[
import events.ColorsEvent;
import mx.binding.utils.BindingUtils;
import mx.binding.utils.ChangeWatcher;
import mx.events.ColorPickerEvent;
import mx.events.FlexEvent;
import mx.utils.ObjectProxy;
import utils.BindingUniform;
private var _op:ObjectProxy;
private var cw:ChangeWatcher;
public function get value():String
{
return data.color;
}
override public function set data(value:Object):void
{
super.data = value;
cp.selectedColor = data.color;
}
protected function cp_changeHandler(event:ColorPickerEvent):void
{
_op[data.id] = event.color;
}
protected function hbox1_creationCompleteHandler(event:FlexEvent):void
{
if(_op == null){
_op = BindingUniform.op;
cw = BindingUtils.bindSetter(dispatchColorChange, _op, data.id);
}
}
protected function dispatchColorChange(color:uint):void
{
cp.selectedColor = color;
dispatchEvent(new ColorsEvent("colorChanged", color, data.id, true, true));
}
]]>
</mx:Script>
<mx:Text width="145"><mx:text>{data.value}</mx:text></mx:Text>
<mx:ColorPicker id="cp" dataProvider="{parentDocument.colorsDP}"
valueCommit="{data.color = cp.selectedColor}"
change="cp_changeHandler(event)" editable="false"/>
<mx:Label id="colorLb" text="{cp.selectedItem.label}"/>
</mx:HBox>
идея, когда я изменить цвет в одном из ColorPicker то событие изменения должны изменить динамическую переменную в моем _op объекта ObjectProxy.
Хорошо, когда я прокручиваю список, цвета остаются в соответствующем цветовом пикселе, что хорошо, моя проблема возникает в привязке, когда при создании события itemRender завершается событие, я создаю привязку к переменной, чтобы я мог отправить событие, когда изменение свойств.
Причина, по которой мне нужна привязка, заключается в том, что некоторые пользователи загружают предыдущую сохраненную модель, и я хочу, чтобы переменные оставались связующими, поэтому colorpicker правильно отобразит цвет, надеясь, что это будет смысл.
Хорошо, что первая работа видимых строк работает нормально, но когда я просматриваю список и пытаюсь изменить цвет изменения цвета в colorpicker, но моя привязка исчезла, и если я прокручу назад, первые тоже не привязываются больше, я действительно не знаю, что еще делать, я просто скачу, что кто-то сделал что-то похожее или просто решил это, пожалуйста, помогите мне, если можете, мне это действительно нужно , Я думаю, мой мозг собирается взорваться, почему привязка настолько сложна в Flex? благодаря!!!
хотел бы помочь вам, но это очень трудно понять ваш вопрос. попробуйте разбить его на более мелкие части. –