将按钮添加到可以点击的flex手风琴标题

时间:2011-02-02 14:02:15

标签: flex flex4

我想在手风琴的标题中添加一个带十字的按钮,可以点击。这意味着当有人点击该按钮时我想显示一条消息。我浏览了网上的许多样本,但无法完成。如果有人知道在flex4中这样做会非常有帮助。

我尝试了CanvasButtonAccordionHeader,它显示了按钮但是当我点击它时,虽然我创建了点击事件处理程序,但它没有给出消息。

如果有人知道如何解决此问题,请使用简单的源代码进行描述。

感谢名单。

2 个答案:

答案 0 :(得分:0)

您可以通过在CSS中自定义标题来轻松完成此操作。

将标题样式添加到手风琴中。
<mx:Accordion id="accordion" headerStyleName="accHeader" width="100%" />

在CSS中
.accHeader { fillColors: haloSilver, haloBlue; fillAlphas: 1.0, 0.5; selectedFillColors: black, black; } 或者将你的形象嵌入这里。

您可以将该邮件放在ViewStack中。

答案 1 :(得分:0)

我在Flex 3中使用CanvasButtonAccordionHeader,因此不确定这是否适用于Flex 4。

但....如果它有任何用处,我创建我的CanvasButtonAccordianHeader作为自定义组件,在单击按钮时调度事件:

<CanvasButtonAccordionHeader xmlns="flexlib.containers.accordionClasses.*"  
 xmlns:mx="http://www.adobe.com/2006/mxml" mouseChildren="true" 
   <mx:Script>
<![CDATA[
            [Bindable]
        private var itemName:String;
        public function init():void{
            itemName=data.name;

        }

    ]]>
</mx:Script>
<mx:Metadata>
    [Event(name="homeButtonClicked")]
</mx:Metadata>
<mx:HBox width="100%" horizontalAlign="right" height="100%" 
    paddingRight="5"
    verticalAlign="middle">
    <mx:LinkButton label="&lt;&gt;"              
        click="dispatchEvent(new Event('homeButtonClicked'));"
        />

</mx:HBox>

 </CanvasButtonAccordionHeader>

然后我将Accordian底部的自定义组件实例化为Header Renderer:

............................................

<mx:headerRenderer>
<mx:Component>      
<applicationLayout:AccordionNavHeaderRenderer   
                                            homeButtonClicked="outerDocument.dispatchEvent(new Event('homeClick'))"/>

    </mx:Component>
</mx:headerRenderer>
</mx:Accordion>

希望这是有用的。