Flex 4中的全球国家

时间:2009-10-10 21:33:49

标签: flash flex flex4 mxml flex-spark

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."/>

谢谢

1 个答案:

答案 0 :(得分:0)

不,不支持像这样的“子”状态。你可以做的是mode1_up, mode1_over, mode1_down, mode2_up, mode2_over, mode2_down等 然后根据私有变量得到你所处的模式并相应地切换出来。你觉得那会对你想做的事情有用吗?