将checkbox的selected属性更改为true,但仍未选中(Flex / AS3)

时间:2015-01-01 22:00:56

标签: actionscript-3 flash flex checkbox flashdevelop

我有一个复选框,在所选属性的另一个类中有一个dataprovider(dp)。 初始我将dp设置为false,并且未检查GUI中的复选框。如果我将dp initial设置为true,则会选中该框。到目前为止它应该如何。 如果我点击复选框,更改也可以。 但我还需要检查并取消选中代码中的复选框,因此我将dp值从false更改为true,但复选框没有更新 - 框中没有标记。与检查相关的操作正确执行。所以我认为它只是一个可见性的东西。

关注重要的片段:

想象一下,一个事件启动了changeOption()函数。 dp1变为true并且它是cbOpt1的选定属性,但此框仍然没有标记。非常感谢你的帮助。

package org.mypackage.modules.model {

  public class Allog {
    [Bindable] public var dataprovider1:Boolean = false;
    [Bindable] public var dataprovider2:Boolean = false;

    public function changeOption():void {
        dataprovider1 = true;
    }
  }
}

<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" 
         xmlns:mate="http://mate.asfusion.com/"
         implements="org.mypackage.modules.views.IActivitylog"
         creationComplete="init()">

<mx:Script>
    <![CDATA[
  import org.mypackage.modules.model.Allog;
    [Bindable] private var allog:Allog = new Allog();
        private function init():void{...}
    ]]>
</mx:Script>

<mx:HBox width="100%" height="100%">
    <mx:VBox  height="100%" width="50%" enabled="true">
        <mx:Label id="lab" text="xxx" />
        <mx:VBox id="oBox" height="100%" width="50%" >
            <mx:Label text="yyy" />
    <mx:HBox width="100%">
        <mx:Label text="Filter:" />
        <mx:CheckBox id="cbOpt1" selected="{allog.dataprovider1}" label="Option1" click="throwFilterEvent(1,cbOpt1.selected)" />
        <mx:CheckBox id="cbOpt2" selected="{allog.dataprovider2}" label="Option2" click="throwFilterEvent(2,cbOpt2.selected)" />
    </mx:HBox>
        </mx:VBox>
    </mx:VBox>
</mx:HBox>  

0 个答案:

没有答案