Flex + CheckBox + Dataprovider ... возможно, самый простой вопрос, на который вы ответите сегодня - PullRequest
1 голос
/ 25 января 2010

Возможно, я не выспался прошлой ночью, но столкнулся со странной проблемой Flex 3.4.

Сценарий:

У меня есть класс, который действует как поставщик данных для всего моего приложения с именем «DataProvider.as»:

package
{   
public class DataProvider
{

    [Bindable]
    public static var email_enable:Boolean = true;

}
}

В форме mxml «Settings.mxml» у меня есть флажок, связанный с переменной email_enable моего класса поставщика данных:

<mx:CheckBox x="452" y="170" label="{Language.loadLanguageResource('lblEmail')}"
             id="chkEmail" 
             selected="{DataProvider.email_enable}" 
             change="onChange()"/>

Все хорошо, даже если получить значение, если я установлю переменную в моем поставщике данных на true или false, флажок отражает это изменение; однако, если я нажимаю на флажок и изменяю его значение, переменная поставщика данных никогда не отражает изменения !

Я бился головой о стену и не могу решить это. Я погуглил свое сердце безрезультатно. Пожалуйста, спасите меня.

1 Ответ

4 голосов
/ 25 января 2010

Это потому, что Flex имеет одностороннюю привязку, по крайней мере, в 3.x;Flex 4 будет поддерживать двустороннюю привязку.

Вам необходимо добавить прослушиватель событий в CheckBox и изменить переменную из прослушивателя.

PS: Вы правы, это на самом делесамый простой вопрос, на который я ответил сегодня;)

...