Flex 4 - селекторы типа CSS в компонентах MXML - PullRequest
0 голосов
/ 04 июня 2010

Кто-нибудь знает причину, по которой селекторы типа CSS нельзя использовать внутри компонентов MXML, и / или хитрость, чтобы заставить его работать?

Я не вижу абсолютно никакой причины, по которой такая простая функциональность не будет поддерживаться, и мне бы очень хотелось понять.

После всего, что я читал о том, что CSS во Flex 4 намного лучше, чем во Flex 3, я чувствую себя довольно разочарованным, когда вынужден повторяться, добавляя один и тот же параметр ко всем моим кнопкам ...

    <fx:Style>
        @namespace s "library://ns.adobe.com/flex/spark";
        .sampleStyle {   color: red;   }        
    </fx:Style>

    <s:Button label="1" styleName="sampleStyle"/>
    <s:Button label="2" styleName="sampleStyle"/>
    <s:Button label="3" styleName="sampleStyle"/>


... хотя я мог бы просто использовать селектор типов и сделать свой код MXML намного чище и читабельнее.

    <fx:Style>
        @namespace s "library://ns.adobe.com/flex/spark";
        s|Button {   color: red;   }        
    </fx:Style>

    <s:Button label="1"/>
    <s:Button label="2"/>
    <s:Button label="3"/>


Я не нашел никакой информации по этому вопросу (кроме документации Adobe, которая в основном просто говорит ", это невозможно "), но мне бы очень хотелось узнать причину этого.
Есть что-то, чего я не понимаю, или эти селекторы вообще бесполезны?

1 Ответ

2 голосов
/ 16 ноября 2010

У меня была точно такая же проблема! Мне нужно было переопределить цвет текста по умолчанию в TextInputs. Вы можете редактировать мастер-файл CSS:

my|Component s|Button {
    color: red;
}
...