Flex:组件如何知道其样式之一是否已更改?

发布于 2024-07-25 09:05:56 字数 103 浏览 4 评论 0原文

我从 TextField 继承了一个自定义组件。 组件需要知道其任何样式在运行时通过 setStyle 发生更改。 我该怎么做呢? 这可能是显而易见的,但我找不到事件或适当的方法来覆盖。

I inherited a custom component from TextField. The component needs to know when any of its styles got changed at runtime via setStyle. How would I do that? It's probably obvious but I couldn't find an event or appropriate method to override.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

执着的年纪 2024-08-01 09:06:01

styleChanged () 方法

public function styleChanged(styleProp:String):void

检测样式属性的更改。 当设置任何样式属性时,Flex 会调用 styleChanged() 方法,并向其传递所设置样式的名称。

这是一个高级方法,您可以在创建 UIComponent 的子类时重写该方法。 创建自定义组件时,您可以重写 styleChanged() 方法来检查传递给它的样式名称,并相应地处理更改。 这使您可以覆盖现有样式的默认行为,或添加您自己的自定义样式属性。

如果您处理 style 属性,则对 styleChanged() 方法的重写应调用 invalidateDisplayList() 方法,以使 Flex 在下一次屏幕更新时执行组件的 updateDisplayList() 方法。

参数 styleProp:String — 样式属性的名称,如果该组件的所有样式均已更改,则为 null。

styleChanged () method

public function styleChanged(styleProp:String):void

Detects changes to style properties. When any style property is set, Flex calls the styleChanged() method, passing to it the name of the style being set.

This is an advanced method that you might override when creating a subclass of UIComponent. When you create a custom component, you can override the styleChanged() method to check the style name passed to it, and handle the change accordingly. This lets you override the default behavior of an existing style, or add your own custom style properties.

If you handle the style property, your override of the styleChanged() method should call the invalidateDisplayList() method to cause Flex to execute the component's updateDisplayList() method at the next screen update.

Parameters styleProp:String — The name of the style property, or null if all styles for this component have changed.

匿名的好友 2024-08-01 09:05:59

如果您希望文本字段能够与 Flex 中的容器和其他组件很好地配合,您可能需要将其包装在 UIComponent 中,或者让子类实现 IUIComponentIStyleClientISimpleStyleClient 接口(UIComponent 实现)。 如果您这样做,该组件将与 Flex 的样式系统一起使用,并且每次样式更改时都会调用名为styleChanged` 的方法:

public function styleChanged(styleProp:String):void

请参阅 http://livedocs.adobe.com/flex/3/langref/mx/core/UIComponent.html#styleChanged()< /a>

If you want the text field to play nicely with containers and other components in Flex you may want to wrap it in a UIComponent, or have the subclass implement the IUIComponent and IStyleClient or ISimpleStyleClient interfaces (which UIComponent implements). If you do the component will work with Flex' style system and every time a style changes a method calledstyleChanged` will be called:

public function styleChanged(styleProp:String):void

See http://livedocs.adobe.com/flex/3/langref/mx/core/UIComponent.html#styleChanged()

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文