Apache flex flex树中MXTreeItemRenderer中自动换行字的高度问题

Apache flex flex树中MXTreeItemRenderer中自动换行字的高度问题,apache-flex,tree,word-wrap,itemrenderer,Apache Flex,Tree,Word Wrap,Itemrenderer,使用默认的TreeItemrenderer,通过在树控件中设置wordWrap=true和variableRowHeight=true,可以根据树的宽度启用自动换行 我希望在MXTreeItemRenderer中启用此行为,并将spark组件用作mx itemrenderer的包装器。 我使用了Flexbuilder创建的MXTreeItemRenderer,并为标签组件添加了100%的宽度,请参见下面的代码 文字换行现在正在工作,但在许多情况下,当出现换行时,项目渲染器高度的计算是错误的。它似

使用默认的TreeItemrenderer,通过在树控件中设置wordWrap=true和variableRowHeight=true,可以根据树的宽度启用自动换行

我希望在MXTreeItemRenderer中启用此行为,并将spark组件用作mx itemrenderer的包装器。 我使用了Flexbuilder创建的MXTreeItemRenderer,并为标签组件添加了100%的宽度,请参见下面的代码

文字换行现在正在工作,但在许多情况下,当出现换行时,项目渲染器高度的计算是错误的。它似乎以固定的宽度工作

你知道怎么做吗

<s:MXTreeItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
                      xmlns:s="library://ns.adobe.com/flex/spark" 
                      xmlns:mx="library://ns.adobe.com/flex/mx">

    <s:states>
        <s:State name="normal" />            
        <s:State name="hovered" />
        <s:State name="selected" />
    </s:states>
    <s:HGroup left="0" right="0" top="0" bottom="0" verticalAlign="middle">
        <s:Rect id="indentationSpacer" width="{treeListData.indent}" percentHeight="100" alpha="0">
            <s:fill>
                <s:SolidColor color="0xFFFFFF" />
            </s:fill>
        </s:Rect>
        <s:Group id="disclosureGroup">
            <s:BitmapImage source="{treeListData.disclosureIcon}" visible="{treeListData.hasChildren}" />
        </s:Group>
        <s:BitmapImage source="{treeListData.icon}" />
        <s:Label id="labelField" text="{treeListData.label}" paddingTop="2" width="100%"/>
    </s:HGroup>
</s:MXTreeItemRenderer>

嗯,您可能应该首先提交一个bug


如果未正确报告高度,请覆盖测量值。。方法并自己计算出高度,如果仍然在Spark中,则可能必须使用线条度量来计算高度。

我发现,当进行两次计算时,高度计算是正确的。
因此,现在作为一种解决方法,我倾听数据和大小的变化,并在变化时调用树的invalidateList方法。

在这个博客网站上,有人向我指出了这一点

非常好的一个,它帮助了我。我认为它适用于不同的行高。带有换行文本的节点应该可以工作


享受吧

谢谢,我会调查的。