我正在将一个应用程序从Flex 3迁移到Flex 4。在某些情况下,弹出窗口的宽度和高度与应用程序的宽度和高度绑定在一起。
width="{Application.application.width - 24}"
height="{Application.application.height - 32}"
Application。4.0中不赞成使用application,因此我将其替换为
width="{FlexGlobals.topLevelApplication.width - 24}"
height="{FlexGlobals.topLevelApplication.height - 32}"
现在,编译器会发出警告,指出无法侦测到topLevelApplication的数据系结。
数据系结将无法侦测对“topLevelApplication”的指派
我的问题是:是否有其他(可绑定的)属性可用于获得与之前相同的功能?
6条答案
按热度按时间jw5wzhpr1#
只需创建一个object类型的变量并使其可绑定:
然后使用变量。
edqdpe6u2#
如果您使用
{this.screen.height}
,您的警告应该会消失。蒂姆
bmp9r5qi3#
这应该适用于转换:
它不能处理当前代码的原因是FlexGlobals.topLevelApplication的类型为Object。
yvfmudvl4#
我被困了半个小时,发现
Bindable
只适用于大写的“b”,我做到了,它解决了我的问题。因此,只要写
Bindable
而不是bindable,因为引用的类是bindable.Bindable
。eyh26e7m5#
我也遇到过类似的警告,但我用的不是对象问题(用[Bindable]前缀就能解决),而是一个VBox。我需要根据我的vbox有多少个子对象来改变图片的来源。所以解决这个问题的方法就是用“this”,哈哈。下面是一个例子:
如果不使用“this”,IDE将显示一个警告,该警告类似于对象的警告。我希望它对其他人有所帮助!
此致
f8rj6qna6#
创建应用程序的可绑定变量类型(例如myApp),以获取myApp或代码完成中定义的所有变量:
然后使用变量。