У меня есть вопрос о том, как получить доступ к переменной главного окна из всплывающего окна.
Я создаю всплывающее окно в главном окне и передаю переменную «содержимое» в это всплывающее окно в виде следующего кода:
<mx:Script>
<![CDATA[
// ......
popwin = PopUpManager.createPopUp(UIComponent(parentApplication), PopupWindow, true) as PopupWindow;
popwin.parentView = this; // parentView is an IFlexDisplayObject
popwin.content = content;
PopUpManager.centerPopUp(popwin);
// ......
]]>
</mx:Script>
В popwin я изменил значение переменной «content», но я хочу сбросить значение «content» при нажатии кнопки «Сброс» на popwin.
Я знаю, я отправляюсобытие в окне popwin и добавление прослушивателя в главное окно. Фрагмент кода в popwin:
parentView.dispatchEvent( new CustomEvent(CustomEvent.RESET) );
Фрагмент кода в главном окне:
addEventListener(CustomEvent.RESET, resetContent);
public function resetContent():void{
this.content = loadContent();
}
Но значение «content» не зависитСброс в popwin.
Есть ли что-то, что я пропустил?
Есть ли другой способ обновить "содержимое" во всплывающем окне?
===================== Обновление вопроса на 15/8/2011 =============================
Я использую следующий код в функции createComplete () в popwin:
BindingUtils.bindProperty(textInput, "text", content, "name", false);
Когда я изменяю текстовое значение textInput и сбрасываю содержимое, оно загружает оригинальное значение content.name вмy журнал трассировки, но текстовое значение textInput не возвращается к исходному значению.
Если я использую следующий код вместо BindingUtils.bindProperty:
[Bindable]
public var content:Content;
......
<mx:TextInput id="textInput" text="{content.name}" />
И выполните то же действие,content.name перезагружается в моем журнале трассировки, но текстовое значение в textInput установлено пустым.
Кто-нибудь знает почему?