Adobe Flex-Komponente Ereignisse

stimmen
6

Ich schrieb eine Komponente, die einen Dateinamen anzeigt, eine Miniaturansicht und verfügt über eine Schaltfläche, um die Datei zu laden / spielen. Das Bauteil wird an einen Repeater datengebundene. Wie kann ich es so, dass die Schaltfläche Ereignis ausgelöst wird, um die Hauptanwendung und sagt ihm, welche Datei zu spielen?

Veröffentlicht am 06/08/2008 um 19:57
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
1

Auf Ihrer benutzerdefinierten Komponente können Sie auf die Schaltfläche klicken Ereignis hören und dann ein benutzerdefiniertes Ereignis generieren, die Informationen über die Datei, die Sie spielen möchten, hält. Sie können dann die Blasen-Eigenschaft auf true auf das Ereignis gesetzt und schicken das benutzerdefinierte Ereignis aus Ihrer benutzerdefinierten Komponente. Die Blasen Eigenschaft wird Ihre Veranstaltung machen die Anzeigeliste aufschwimmen und die Hauptanwendung erreichen. Jetzt auf Ihrer Haupt-Anwendung können Sie auf dieses Ereignis hören und die richtige Datei spielen. Hoffe das hilft.

Beantwortet am 06/08/2008 um 20:25
quelle vom benutzer

stimmen
1

Es heraus (endlich)

Kundenspezifische Komponenten

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" x="0" y="0" width="215" height="102" styleName="leftListItemPanel" backgroundColor="#ECECEC" horizontalScrollPolicy="off" verticalScrollPolicy="off">
<mx:Script>
    <![CDATA[
        [Bindable] public var Title:String = "";
        [Bindable] public var Description:String = "";
        [Bindable] public var Icon:String = ""; 
        [Bindable] public var FileID:String = "";
        private function viewClickHandler():void{
            dispatchEvent(new Event("viewClick", true));// bubble to parent
        }
    ]]>
</mx:Script>
<mx:Metadata>
    [Event(name="viewClick", type="flash.events.Event")]
</mx:Metadata>
<mx:Label x="11" y="9" text="{String(Title)}" styleName="listItemLabel"/>
<mx:TextArea x="11" y="25" height="36" width="170" backgroundAlpha="0.0" alpha="0.0" styleName="listItemDesc" wordWrap="true" editable="false" text="{String(Description)}"/>
<mx:Button x="20" y="65" label="View" click="viewClickHandler();" styleName="listItemButton" height="22" width="60"/>
<mx:LinkButton x="106" y="68" label="Details..." styleName="listItemLink" height="18"/>
<mx:HRule x="0" y="101" width="215"/>

der Repeater

<mx:Canvas id="pnlSpotlight" label="SPOTLIGHT" height="100%" width="100%" horizontalScrollPolicy="off">
    <mx:VBox width="100%" height="80%" paddingTop="2" paddingBottom="1"  verticalGap="1">
        <mx:Repeater id="rptrSpotlight" dataProvider="{aSpotlight}">            
            <sm:SmallCourseListItem 
                viewClick="PlayFile(event.currentTarget.getRepeaterItem().fileName);"
                Description="{rptrSpotlight.currentItem.fileDescription}"
                FileID = "{rptrRecentlyViewed.currentItem.fileName}"    
                Title="{rptrSpotlight.currentItem.fileTitle}" />
        </mx:Repeater>
    </mx:VBox>
</mx:Canvas>

Hantierungsfunktion

private function PlayFile(fileName:String):void{
    Alert.show(fileName.toString());
}
Beantwortet am 06/08/2008 um 20:23
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more