Flex + CheckBox + Dataprovider ......很可能是你今天要回答的最简单的问题

时间:2010-01-25 17:46:43

标签: flex checkbox dataprovider

也许我昨晚睡眠不足,但我遇到了奇怪的Flex 3.4问题。

情景:

我有一个类,它为我的整个应用程序命名为“DataProvider.as”的数据提供者:

package
{   
public class DataProvider
{

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

}
}

在mxml表单中,“Settings.mxml”我有一个复选框控件,它绑定到我的dataprovider类的email_enable变量:

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

只要获取值,一切都很好,如果我将数据提供者中的变量设置为true或false,则复选框会反映此更改;但是,如果我点击复选框并更改其值,则数据提供者变量永远不会反映更改

我一直在撞墙而不能解决这个问题。我google了我的心无济于事。请救救我。

1 个答案:

答案 0 :(得分:4)

这是因为Flex具有单向绑定,至少在3.x中; Flex 4将支持双向绑定。

您需要向CheckBox添加一个事件侦听器,并从侦听器修改该变量。

PS:你是对的,这实际上是我今天回答的最容易的问题;)