2009-03-03 4 views
1

J'ai une feuille de style dans mon application Flex, référencé:Comment puis-je supprimer l'ombre portée de TextInput?

<mx:Style source="/assets/stylesheets/default.css" /> 

Dans cette feuille de style, je mis dropShadowEnabled true gloablly:

global { 
    fontSize: 11pt; 
    dropShadowEnabled: true; 
    verticalAlign: "middle"; 
} 

Cela donne une ombre portée à de nombreux composants, y compris toutes les entrées de texte.

Cependant, j'ai un composant de fenêtre de titre qui affiche un ComboBox éditable et je ne veux pas que cette entrée de texte ait une ombre portée. Je ne peux pas le faire disparaître cependant. Je l'ai essayé ce qui suit:

Création d'un sélecteur de classe CSS ...

<mx:ComboBox editable="true" dataProvider="{nameOptions}" textInputStyleName="noDropShadow" /> 

... dans le CSS par défaut:

.noDropShadow { 
    dropShadowEnabled: false; 
} 

... dans la fenêtre Titre:

<mx:Style> 
    .noDropShadow { 
     dropShadowEnabled: false; 
    } 
</mx:Style> 

... aussi:

<mx:Style> 
    TextInput.noDropShadow { 
     dropShadowEnabled: false; 
    } 
</mx:Style> 

Aucun d'entre eux n'a supprimé l'ombre portée. Qu'est-ce que j'oublie ici?

Répondre

1

Une solution serait de supprimer "dropShadowEnabled: true;" du style global et le mettre uniquement sur les éléments que vous voulez spécifiquement ombre portée.

+0

Oui, j'ai pensé à ça. C'est peut-être ma meilleure option, malheureusement. –

0

Donnez à votre combo-box un attribut id puis:

combo_box_id.setStyle ("dropShadowEnabled", false); Dans votre bloc <mx:Script/>.