Flex 4引入了在皮肤内和组件内定位的状态。这在MVC模型上是有意义的,因此视觉元素可以具有它们自己的状态(即,对于按钮:向上,向下,向上等),其与组件的状态分开。然而,如何建立一个全球应用程序状态呢? SDK中是否已存在类似于我正在寻找的内容?
进一步说明:假设我们有一个具有3个独立“模式”的应用程序,它不仅会改变当前元素的视觉外观,还会改变容器或组件的属性和元素。因此,不仅具有每个组件和皮肤的状态,而且具有整个应用的状态,这将非常有用。基本上,它是另一层抽象。回到按钮示例,假设我们有up,down和over状态,但是全局应用程序状态1有3个单独的up,down和over状态,而全局应用程序状态2有3个独立的状态,依此类推等等。
对于视觉学习者:
按钮的自定义外观中的状态可能看起来像全局应用程序状态:
<s:states>
<s:ApplicationState name="mode1">
<s:State name="up" />
<s:State name="over" />
<s:State name="down" />
</s:ApplicationState>
<s:ApplicationState name="mode2">
<s:State name="up" />
<s:State name="over" />
<s:State name="down" />
</s:ApplicationState>
<s:ApplicationState name="mode3">
<s:State name="up" />
<s:State name="over" />
<s:State name="down" />
</s:ApplicationState>
</s:states>
<s:Button label.mode1.up="Application is in mode1" label.mode2.up="Application is in mode2" label.mode3.over="etc., etc., etc."/>
谢谢
答案 0 :(得分:0)
不,不支持像这样的“子”状态。你可以做的是mode1_up, mode1_over, mode1_down, mode2_up, mode2_over, mode2_down
等
然后根据私有变量得到你所处的模式并相应地切换出来。你觉得那会对你想做的事情有用吗?