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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top