在不同的状态设置控件的属性? - Flex 4

时间:2011-01-20 14:44:53

标签: flex actionscript-3 logic flash-builder

我无法在另一个州设置控件的属性。

Latest_News_Display 位于 Latest_News 状态下。即使 currentState 设置为简介,我也要设置 Latest_News_Display x 属性。但是,当我尝试使用 Latest_News.Latest_News_Display.x = 10 时,会返回错误 1120:访问未定义的属性Latest_News 。那我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

无法保证在您尝试设置其他状态时创建了某个组件。如果没有看到你的代码,很难肯定地说,但我猜这是基于你的错误的问题。

基本上,您必须创建自己的延迟值设置方法。因此,当您尝试设置它时,请执行以下操作:

if(Latest_News_Display){
 Latest_News_Display.x = 10
} else {
 cachedLatest_News_DisplayX = 10
}

然后听currentStateChange event然后设置新值:

protected function onCurrentStateChange(event:StateChangeEvent):void{    
Latest_News_Display.x = cachedLatest_News_DisplayX 
}

我还要补充一点,根据您问题中的粗体项目,您似乎试图通过名称Latest_News访问州。如果创建指向特定状态的局部变量,则可以执行此操作。但是,如果您使用MXML,那么您可能没有。即便如此,状态基本上只是一系列覆盖,您将无法直接访问该状态的组件。