flex flexlib windowshade открытое состояние поддерживать - PullRequest
0 голосов
/ 22 сентября 2010

В моем приложении 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, но у меня не получилось.

Заранее спасибо

1 Ответ

0 голосов
/ 28 сентября 2010

Если вы хотите, чтобы открытое значение сохранялось, вам нужно изменить базовый поставщик данных. Таким образом, вы в значительной степени правы с этим. Если я правильно помню компонент WindowShade, он не отправлял события при его открытии и закрытии, поэтому для его добавления может потребоваться расширение компонента. Я сомневаюсь, что привязка будет работать, поскольку у вас есть круговая зависимость между двумя значениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...