Flex3到Flex4的getStyleDeclaration的改变

来源:互联网 发布:php mysql配置 编辑:程序博客网 时间:2024/05/18 22:14

Flex4使用 IStyleManager2 代替 StyleManager

由于mx.styles.StyleManager.getStyleDeclaration(selector:String):CSSStyleDeclaration自4.0以来被弃用,So?

在Flex4中你不能再调用StyleManager类作为单例模式了(StyleManager.getStyleManager())。 

只要用StyleManager的工具IStyleManager2然后直接引用styleManager就可以了,像这样:

var styleManager:IStyleManager2 = FlexGlobals.topLevelApplication.styleManager;

 

我来看看如何把Flex3项目中的样式声明和引用转化为Flex4项目的形式。

看一个正确例子:

var style:CSSStyleDeclaration=mx.core.FlexGlobals.topLevelApplication.styleManager.getStyleDeclaration("DragManager");

 

为什么每次样式表的变量都是null(空的)。

检查stylemanager的selcetors属性之后,selectors的引用被改变了!这个引用必须包含完整的类包路径

 

所以最后的变化就是我们需要更改一下类的路径名称。现在我们来改写代码:

var style:CSSStyleDeclaration=mx.core.FlexGlobals.topLevelApplication.styleManager.getStyleDeclaration("mx.managers.DragManager");

好了 现在我们的样式声明就跟我们期望的一样了。