Flex 4.6使用组件中的绑定变量设置selectedChild =

时间:2014-09-30 16:54:29

标签: actionscript-3 flash flex flex4.6

我收到以下错误:

  

1067:将String类型的值隐式强制转换为不相关的类型mx.core:INavigatorContent。

位于我设置selectedChild =

的行的主应用程序中

这是我的viewstack的代码,它位于我的主应用程序中:

<mx:ViewStack id="mainViewStack"
                      width="100%" height="100%"
                      selectedChild="{topViewControlComponent.selectedChild}">

我的组件包含以下内容:

[Bindable]
            public var selectedChild:String;

            protected function changeView2(child:String):void
            {
                this.selectedChild = child;
            }

<s:Button styleName="controlBarButton"
              label="Events"
              click="changeView2('userEvents');"/>

当我将viewstack导航器内容基础设置为selectIndex并使用整数时,我得到了这个...工作正常。但我宁愿通过导航器内容的id来调用它们,这样它们就不必按特定顺序排列,如果可能的话。或者也许有更好的方法来解决这个问题...感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

ViewStack上的selectedChild属性将实际视图作为其参数,而不是视图的名称。将selectedIndex与int一起使用将正常工作,或者您可以在主应用程序中调用在id和视图实例之间映射的函数。

修改:正如您在评论中所说,您可以使用click="mainViewStack.selectedChild=userEvents"根据需要设置视图。

但是,问题中的代码是这样的:

click="mainViewStack.selectedChild='userEvents'"