开发者

How to set an image's source in a Flex stylesheet (not Embed)

This works:

<mx:Image styleName="image" source="done.png">
</mx:Image>

This doesn't:

<fx:Style>
    @namespace mx "library://ns.adobe.com/flex/mx";
    @namespace s "library://ns.adobe.com/flex/spark";

    .image {
        source : url("done.png")
    }

</fx:Style>
<mx:Image styleName="image" >
</mx:Image>

Driving me crazy. How it this supposed to be done?

Same results if I do:

.image {
    source : "done.png"
}

Complete source code is:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
           xmlns:mx="library://ns.adobe.com/flex/mx"
           xmlns:s="library://ns.adobe.com/flex/spark"
           minWidth="636" minHeight="389" width="636" height="389"
           >

<fx:Style>
    @namespace mx "library://ns.adobe.com/flex/mx";
    @namespace s "library://ns.adobe.com/flex/spark";

    .image {
        source : "done.png"
    }

</fx:Style>
<mx:Image styleName="image" >
</mx:Image>
</s:Ap开发者_运维百科plication>


mx:Image's source is not a style but property. It can't be set using CSS directly. Try to use something like:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:mx="library://ns.adobe.com/flex/mx"
    xmlns:s="library://ns.adobe.com/flex/spark"
    minWidth="636" minHeight="389" width="636" height="389"
    >

    <fx:Style>
        @namespace mx "library://ns.adobe.com/flex/mx";
        @namespace s "library://ns.adobe.com/flex/spark";

        s|Application {
            image-source: Embed(source="done.png");
        }

    </fx:Style>
    <mx:Image source="{getStyle('imageSource')}" >
    </mx:Image>
</s:Application>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜