В моем приложении Flex + AIR есть компонент FlexSlib WindowShade в повторителе.
<mx:XML id="mainMenuXML">
<items>
<item value="abc" />
<item value="xyz" />
<item value="lmn" />
</items>
</mx:XML>
<mx:VBox width="100%" height="100%">
<mx:Button label="Button" click="button1_clickHandler(event)"/>
<mx:Repeater id="rep" dataProvider="{mainMenuXML.item}">
<flexlib:WindowShade label="{rep.currentItem.@value}" width="50%" opened="{rep.currentItem.@open}">
<mx:Label text="xxxxxxxxxx" />
</flexlib:WindowShade>
</mx:Repeater>
</mx:VBox>
Теперь в обработчике нажатия кнопки button1 я добавляю child в XML (mainMenuXML), в результате чего добавляю еще один экземпляр windowshade. Но проблема в том, что он открывает все экземпляры Windowshade.
Мне нужно поддерживать открытые состояния после добавления нового экземпляра windowshade.
Например:
Изначально я получаю 3 ветровых стекла с надписями: abc, xyz, lmn все открыто.
Теперь я закрываю экземпляр xyz windowshade (нажав на заголовок)
Теперь я нажимаю на кнопку, которая добавляет дочерний элемент в mainMenuXML, а также добавляю экземпляр windowshade с некоторой меткой «pqr». Но теперь я вижу, как открыты все окна.
Но это должно быть подобно abc, lmn, pqr должно быть открыто и xyz закрыто (свойство open = "false").
Пожалуйста, помогите мне в поддержании открытого истинного / ложного состояния экземпляров Windowshade.
Я пытался добавить свойство в провайдере данных Bindable к открытому свойству windhowshade, но у меня не получилось.
Заранее спасибо