Actionscript 3 如何在Flex 4 TextArea组件中强制失效?

Actionscript 3 如何在Flex 4 TextArea组件中强制失效?,actionscript-3,apache-flex,flex4,flex4.6,Actionscript 3,Apache Flex,Flex4,Flex4.6,我在一个移动应用程序中有一个文本区域,我想对某个事件强制失效。到目前为止,我可以做到: myTextArea.width = myTextArea.width + 1; 我知道它是有效的,因为文本区域更新正确 我已尝试使用以下方法正确执行此操作: testing.invalidateProperties(); testing.invalidateDisplayList(); testing.invalidateSize(); testing.validateNow(); parentGroup

我在一个移动应用程序中有一个文本区域,我想对某个事件强制失效。到目前为止,我可以做到:

myTextArea.width = myTextArea.width + 1;
我知道它是有效的,因为文本区域更新正确

我已尝试使用以下方法正确执行此操作:

testing.invalidateProperties();
testing.invalidateDisplayList();
testing.invalidateSize();
testing.validateNow();
parentGroup.invalidateProperties();
parentGroup.invalidateDisplayList();
parentGroup.invalidateSize();
parentGroup.validateNow();
前面的代码都不起作用

TextArea正在使用StageTextAreaSkin

更新 这似乎与设置宽度一样有效,但也是一个难题,也无法与其他组件同步:

testing.skin.styleChanged("anything");

我发现强制验证的唯一方法是在此处调用myTextArea.SetStyleAnywhere_或在此处调用myTextArea.skin.SetStyleAnywhere_。注意,这可能是皮肤的问题,它是SDK中的mobile spark皮肤,不是我自己创建的。请给出更好的答案

您认为失效后会发生什么?如果我们知道这一点,也许这是一个提示,说明为什么无效方法不起作用,但是改变宽度起作用。我希望它重新定位在它的容器中,即滚动条中的vgroup。在Flex中看到这个相关问题可能会有所帮助,组件的大小和位置总是由其父组件决定的。也许您需要使DisplayList或父文本区域无效?更改宽度可能会迫使父级重新计算。我尝试过了。我更新了帖子,加入了我使用的代码。