【问题标题】:Binding MXML CSS value绑定 MXML CSS 值
【发布时间】:2015-02-28 08:41:26
【问题描述】:

在我的一些容器中,我想将填充和间隙值绑定到一个变量,以便它们在整个应用程序中保持一致,并且我有以下代码

  <s:VGroup gap="{MyCSSStyle.space}"
            paddingLeft="{MyCSSStyle.space}"
            paddingRight="{MyCSSStyle.space}"
            paddingTop="{MyCSSStyle.space}"
            paddingBottom="{MyCSSStyle.space}">

但是如果我必须到处复制内联样式并不好,是否可以绑定CSS中的值以便我可以实现这样的目标?

    .myStyle {
            gap: {MyCSSStyle.space};
            paddingLeft: {MyCSSStyle.space};
            paddingRight: {MyCSSStyle.space};
            paddingTop: {MyCSSStyle.space};
            paddingBottom: {MyCSSStyle.space};
    }
    <s:VGroup styleName="myStyle">

我试过了,但是编译器不允许我这样绑定。

【问题讨论】:

  • 但是为什么你需要这样。对所有人使用相同的样式。
  • 因为样式值需要是动态的,这样我可以在外部源(如数据库或配置文件)中配置值并即时查看更新结果。
  • 那么你也可以使用actionscript来设置它。
  • 你能举个例子吗?
  • 点赞playBtn.setStyle("paddingLeft",20);

标签: css actionscript-3 apache-flex mxml


【解决方案1】:

在 flex 中不能绑定 CSS。相反,您可以使用 actionscript 动态提供 css,如下所示:

MXML:

<s:VGroup id="vgContainer" />

脚本:

vgContainer.setStyle("paddingLeft",MyCSSStyle.space);
vgContainer.setStyle("paddingRight",MyCSSStyle.space);
vgContainer.setStyle("paddingTop",MyCSSStyle.space);
vgContainer.setStyle("paddingBottom",MyCSSStyle.space);

希望,它会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多