flex 4引入了在皮肤内和组件内本地化的状态。这在MVC模型上是有意义的,因此可视元素可以有自己的状态(例如,对于按钮:上、下、上等),这些状态与组件的状态是分开的。然而,如何使一个全局应用程序状态呢?SDK中是否已经有类似于我正在查找的内容?
进一步澄清:假设我们有一个应用程序,它有三个单独的“模式”,不仅改变当前元素的外观,而且改变容器或组件的属性和元素。因此,状态不仅适用于每个组件和皮肤,而且适用于整个应用程序。基本上,它是另一个抽象层。回到按钮示例,假设我们有向上、向下和向上状态,但是对于全局应用程序状态1,有3个单独的向上、向下和向上状态,对于全局应用程序状态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."/>
谢谢