0

我在处理 Flex(或 Flash)4 中的状态时遇到了一点困难。假设我的应用程序具有三个状态;默认(基本)状态、状态 1 和状态 2。

状态 1 应该始终基于基本状态,这很容易实现。但是,我希望状态 2 基于当前状态(基础或状态 1)。我这辈子都想不通。我尝试将状态 1 的 basedOn 属性设置为“this.currentState”,但这只会让我的浏览器崩溃。

 <s:states>
  <s:State name="default"/>
  <s:State name="state1"/>
  <s:State name="state2" basedOn="{this.currentState}"/>
 </s:states>

 <s:TitleWindow id="configWindow" includeIn="state1" width="250" height="100%" close="configWindow_closeHandler(event)"/>
 <s:Panel id="settings" includeIn="state2" width="200" height="200"/>
4

1 回答 1

1

basedOn 不是 Bindable 属性,这就是为什么代码中的值没有改变的原因。

理论上,它是一个读/写属性,因此您可以在运行时更改它;但是您必须手动执行此操作,可能在 ActionScript 中。

根据您的代码段;我不明白你为什么要这样做。一旦您将状态更改为“state2”,您不会进入一个奇怪的循环吗?

于 2010-05-28T15:45:24.537 回答