Come posso rimuovere l'ombra discendente da TextInput?
-
03-07-2019 - |
Domanda
Ho un foglio di stile nella mia applicazione Flex, indicato come:
<mx:Style source="/assets/stylesheets/default.css" />
In questo foglio di stile, ho impostato dropShadowEnabled su true globlly:
global {
fontSize: 11pt;
dropShadowEnabled: true;
verticalAlign: "middle";
}
Questo dà un'ombra discendente a molti componenti, inclusi tutti i TextInputs.
Tuttavia, ho un componente Finestra del titolo che visualizza un ComboBox modificabile e non voglio che l'immissione di testo abbia un'ombra esterna. Non riesco a farlo andare via comunque. Ho provato quanto segue:
Creazione di un selettore di classe CSS ...
<mx:ComboBox editable="true" dataProvider="{nameOptions}" textInputStyleName="noDropShadow" />
... nel CSS predefinito:
.noDropShadow {
dropShadowEnabled: false;
}
... nella finestra del titolo:
<mx:Style>
.noDropShadow {
dropShadowEnabled: false;
}
</mx:Style>
... anche:
<mx:Style>
TextInput.noDropShadow {
dropShadowEnabled: false;
}
</mx:Style>
Nessuno di questi ha rimosso l'ombra discendente. Cosa mi sto perdendo qui?
Soluzione
Una soluzione sarebbe quella di rimuovere "e; dropShadow Enabled: true; "e; dallo stile globale e inseriscilo solo sugli oggetti che vuoi specificamente far cadere.
Altri suggerimenti
Assegna alla tua casella combinata un attributo id e quindi:
combo_box_id.setStyle (" dropShadowEnabled " ;, false);
Nel tuo <mx:Script/>
blocco.