我一直在使用 flex 图表组件,我想为图例中的标记嵌入一个自定义图标。我遇到了一些奇怪的行为,如果直接设置,图标会被镜像并且文本未对齐,但如果使用类工厂和 legendMarkerRenderer 属性创建,则组件呈现良好。我已经包含一个片段来说明下面的问题。
解决这个问题可能是可能的,但我很好奇是否有人对这里可能发生的事情有解释。
附加信息:Flex SDK 4.5.0.20967、FlashBuilder 4.5
这是以下代码段的输出:
<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">
<fx:Script>
<![CDATA[
import mx.charts.LegendItem;
[Embed(source="/resources/GraphResetIcon.png")]
public static var icon:Class;
]]>
</fx:Script>
<s:layout>
<s:VerticalLayout/>
</s:layout>
<!-- This works fine -->
<mx:LegendItem legendMarkerRenderer="{new ClassFactory(icon)}" markerAspectRatio="1"
labelPlacement="right" label="Texty texty" markerHeight="11" markerWidth="11" />
<!-- This does not work -->
<mx:LegendItem marker="{new icon()}" markerAspectRatio="1" labelPlacement="right"
label="Texty texty" markerHeight="11" markerWidth="11" />
</s:Application>