С Flex 3 просто измените свой стиль, чтобы получить желаемый эффект.
MXML:
<mx:TextInput
styleName="{(whatever.isSomething() || whatever.isSomethingElse()) ? 'TextInputBlackOnWhite' : 'TextInputWhiteOnBlack'}"
text="{whatever.value}"/>
Стили:
.TextInputBlackOnWhite
{
borderSkin: Embed(source="assets/images/TextInput_BlackOnWhite.png", scaleGridLeft="2",scaleGridTop="2",scaleGridRight="19",scaleGridBottom="19");
color: #000000;
}
.TextInputWhiteOnBlack
{
borderSkin: Embed(source="assets/images/TextInput_WhiteOnBlack.png", scaleGridLeft="2",scaleGridTop="2",scaleGridRight="19",scaleGridBottom="19");
color: #FFFFFF;
}