1

re: spark.components.ButtonBar

spark ButtonBar のmouseOverイベントで、マウスがホバリングしているいくつかのボタンのどれをどのように判断しますか? もちろん、現時点では選択されたインデックスはありません。違いがある場合、ButtonBar は MXML で定義されていませんが、ActionScript でインスタンス化され、ArrayList が ButtonBar インスタンスの dataProvider プロパティに割り当てられます。

助けてくれてありがとう。

4

2 に答える 2

1

Flex 4の場合、これを行うための本当に簡単な/組み込みの方法はありません。それは良いことだと思います. ElementExistenceEvent.RENDERER_ADD代わりに、とを介してレンダラーにアクセスElementExistenceEvent.RENDERER_REMOVEできるため、子であらゆる種類のイベントを探すことができます。これを試してください:

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

    <fx:Script>
        <![CDATA[

            import mx.core.IVisualElement;
            import spark.events.RendererExistenceEvent;

            protected function rendererAddHandler(event:RendererExistenceEvent):void
            {
                var element:IVisualElement = event.renderer;
                element.addEventListener(MouseEvent.MOUSE_MOVE, renderer_mouseMoveHandler);
            }

            protected function rendererRemoveHandler(event:RendererExistenceEvent):void
            {
                var element:IVisualElement = event.renderer;
                element.removeEventListener(MouseEvent.MOUSE_MOVE, renderer_mouseMoveHandler);
            }

            protected function renderer_mouseMoveHandler(event:MouseEvent):void
            {
                trace(event.currentTarget.label);
            }

        ]]>
    </fx:Script>

    <s:ButtonBar id="buttonBar"
        rendererAdd="rendererAddHandler(event)"
        rendererRemove="rendererRemoveHandler(event)">
        <s:dataProvider>
            <mx:ArrayList source="[one, two, three, four]"/>
        </s:dataProvider>
    </s:ButtonBar>
</s:Application>

お役に立てば幸いです、ランス

于 2010-03-06T23:08:39.653 に答える
0

itemRollOver単純にスパーク ボタンバーのイベントを使用できます。

于 2011-07-17T13:13:39.867 に答える