Flex Spark ButtonBar: Как определить, какую кнопку в мероприятии MUSICOVER

StackOverflow https://stackoverflow.com/questions/2393441

Вопрос

Re: Spark.comPonents.Buttonbar.

В искре мыши Событие, как вы определяете, какие из нескольких кнопок мышь зависает? Есть, конечно, нет выбранного индекса в этом доходе. Если это имеет значение, моя кнопка ButtonBar не определена в MXML, но призвана в ActionScript и ArrayList присваивается свойство DataProvider My ButtonBar.

Спасибо за помощь.

Это было полезно?

Решение

Там нет реального легкого / встроенного способа сделать это, если 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>

Надеюсь, что помогает, Ланс

Другие советы

Вы можете просто использовать itemRollOver Мероприятие Spark ButtonBar.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top