我有此代码:

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();

10-04 17:30