2015-02-28 4 views
0

В некоторых из моих контейнеров я хочу, чтобы связать отступы и значение зазора к переменной, таким образом они согласуются в течение моего приложения и у меня есть следующий кодBinding MXML значение CSS

<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"> 

Я пробовал, но комплимент не позволяет мне делать привязку.

+0

Но зачем вам это нужно. используйте тот же стиль для всех. – ketan

+0

Потому что значение стиля должно быть динамическим, так что я могу настроить значение во внешнем источнике, например, базу данных или файлы конфигурации, и просматривать обновленный результат «на лету». –

+0

, то вы также можете установить его с помощью ActionScript. – ketan

ответ

0

Связывание CSS невозможно в flex. Вместо этого вы можете использовать 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); 

Надежда, это поможет.