我有此代码:
BindingUtils.bindProperty(trollImage, "width", vslider, "value");
BindingUtils.bindProperty(trollImage, "height", vslider, "value");
并且适当的组件是用MXML编写的:
<s:Image id="trollImage" source="http://clansql.comoj.com/meme/trollface-square.png"/>
<s:VSlider id="vslider" height="400" maximum="600" minimum="5" value="400"/>
我通过按一个按钮来创建绑定(bind)。在按下另一个按钮之后,应该删除绑定(bind)。
我找到了针对Flex 3.5 here的解决方案,但不适用于Flex 4.5,因为组件没有
_bindings
属性。在Flex 4.5中效果如何?有人可以告诉我吗?非常感谢!
最佳答案
无论如何,Flex 3.5解决方案对我来说似乎是很棘手的。
您应该使用ChangeWatcher#unWatch()。 BindingUtils#bindProperty()
函数返回ChangeWatcher的实例。
在您的情况下,将导致如下所示:
var widthWatcher:ChangeWatcher =
BindingUtils.bindProperty(trollImage, "width", vslider, "value");
var heightWatcher:ChangeWatcher =
BindingUtils.bindProperty(trollImage, "height", vslider, "value");
widthWatcher.unWatch();
heightWatcher.unWatch();