首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义组件中的Flex4应用程序状态

自定义组件中的Flex4应用程序状态
EN

Stack Overflow用户
提问于 2010-06-17 18:16:34
回答 2查看 591关注 0票数 0

我正在将我的Flex3应用程序移植到Flex4 (FlashBuilder4)。我得到了全新的状态概念,除了一件事。在自定义组件(单独的mxml文件)中,我使用的是主级别Application的状态。在Flex3中是:

代码语言:javascript
复制
<mx:State name="only_view_mode">
    <mx:RemoveChild target="{myComponent.button1}" />
</mx:State>

在Flex4中应该是这样的

代码语言:javascript
复制
<mx:State name="only_view_mode" />

代码语言:javascript
复制
<mx:LinkButton id="button1" excludeFrom="???" />

我的问题是:如何从组件访问应用程序状态?当然,我查看了官方参考资料(http://www.adobe.com/go/learn_flex4_alldocumentation_en)和谷歌,但没有取得任何成功。

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-24 18:58:17

因为它需要一个字符串,所以它没有真正起作用。我试过所有可能的方法。到目前为止,我提出了一个非常难看的解决方案:我添加了一个事件侦听器,用于检查主级别组件的检查状态更改:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<s:Panel xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx" 
         creationComplete="{onCreationComplete();}">
    <fx:Script>
        <![CDATA[
            import mx.core.FlexGlobals;
            import mx.events.StateChangeEvent;
            private function onCreationComplete():void {
                FlexGlobals.topLevelApplication.addEventListener(StateChangeEvent.CURRENT_STATE_CHANGE, onStateChanged);
            }

            private function onStateChanged(event:StateChangeEvent):void {
                currentState = event.newState;
            }
        ]]>
    </fx:Script>
    <s:states>
        <s:State name="default" />
        <s:State name="login" />
    </s:states>
    <s:TextArea includeIn="login"/>
</s:Panel>

如果有更好的解决办法,请告诉我。顺便说一句,我预感到的basedOn属性是可行的。但不知道它期望的是哪种格式:

代码语言:javascript
复制
    <s:State name="login" basedOn="???" />
票数 0
EN

Stack Overflow用户

发布于 2010-06-18 07:00:15

试着使用

FlexGlobals.topLevelApplication.currentState

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/core/FlexGlobals.html?filter_flex=4

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3064379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档