PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MenuBar-Komponente


argv
20.10.2006, 10:48
hallo,

ich habe mal eine Frage:

Ich fülle den dataprovider meines MenuControls wie folgt (beispiel auf der hilfe):


<?xml version="1.0"?>
<!-- Simple example to demonstrate the MenuBar control. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initCollections();" >

<mx:Script>
<![CDATA[

import mx.events.MenuEvent;
import mx.controls.Alert;
import mx.collections.*;

[Bindable]
public var menuBarCollection:XMLListCollection;

private var menubarXML:XMLList =
<>
<menuitem label="Menu1">
<menuitem label="MenuItem 1-A" data="1A"/>
<menuitem label="MenuItem 1-B" data="1B"/>
</menuitem>
<menuitem label="Menu2">
<menuitem label="MenuItem 2-A" type="check" data="2A"/>
<menuitem type="separator" />
<menuitem label="MenuItem 2-B" >
<menuitem label="SubMenuItem 3-A" type="radio"
groupName="one" data="3A"/>
<menuitem label="SubMenuItem 3-B" type="radio"
groupName="one" data="3B"/>
</menuitem>
</menuitem>
</>;

// Event handler for the MenuBar control's itemClick event.
private function menuHandler(event:MenuEvent):void {
Alert.show("Label: " + event.item.@label + "\n" +
"Data: " + event.item.@data, "Clicked menu item");
}

// Event handler to initialize the MenuBar control.
private function initCollections():void {
menuBarCollection = new XMLListCollection(menubarXML);
}
]]>
</mx:Script>

<mx:Panel title="MenuBar Control Example" height="75%" width="75%"
paddingTop="10" paddingLeft="10">

<mx:Label width="100%" color="blue"
text="Select a menu item."/>

<mx:MenuBar labelField="@label" itemClick="menuHandler(event);"
dataProvider="{menuBarCollection}" />

</mx:Panel>
</mx:Application>



da gibt es ein MenuItem vom type:checkm welches das Verhalten wie einer Checkbox aufweißt. Besteht irgendwie die Möglichkeit das Menuelment schon im gescheckten Zustand zu initialisieren? bzw. per AS das ding beim initialiesieren schon vorzuchecken?

Danke

argv
06.11.2006, 13:58
bin immer noch auf der suche...hat jemand da ne idee?


danke

ps: ok habs erstmal gelöst

elysian
06.11.2006, 14:08
xervus,

vergib im dataProvider ein attribut, dass du für die anzeige via binding checkst, um die checkbox zu setzen...

{dp.item.initiallyChecked ? true : false}
cheers, thomas.

argv
06.11.2006, 14:09
danke dir...dein lösungsweg sieht auch schick aus :)

elysian
06.11.2006, 14:20
:D wie sieht denn deine lösung aus??

argv
06.11.2006, 15:05
Habe mich für RadioControls umentschieden und ihnen eine Gruppe zugewiesen und einen beim initialisieren mit toggled auf TRUE gesetzt.


<menuitem label="Menueintrag" type="radio" groupName="one" toggled="true" data="view1"/>

argv
06.11.2006, 15:44
noch ne kleine frage....wähle einen menueintrag aus...parallel soll ein anderer MenüEintrag gechecked werden...wie kann ich diesen erreichen bzw. ansprechen?

elysian
06.11.2006, 18:16
na da checkst du in deinem eventCallback, ob es das item ist, das du willst und wenn ja, setzt du checked (oder wie das heisst) für die andere box gleich mit...

cheers, thomas

argv
06.11.2006, 21:01
na da checkst du in deinem eventCallback, ob es das item ist, das du willst und wenn ja, setzt du checked (oder wie das heisst) für die andere box gleich mit...

cheers, thomas
ja blos wie sprech ich den anderen menüeintrag an? wenn das event geworfen wird ist mein currenttarget ja der geklickte menüeintrag...so bloß wie kann ich auf andere menüeinträge zugreifen? muss i da über die menubarcollection gehen?

elysian
06.11.2006, 22:44
da hast du doch ein data-attribut für...!?
oder was ähnlich uniques...

cheers, thomas.

argv
07.11.2006, 08:05
da hast du doch ein data-attribut für...!?
oder was ähnlich uniques...

cheers, thomas.

Grüße,

ich glaube ich peils immer noch nicht...kannst du mir aus obigen code vielleicht mal ein kleines beispiel posten??

danke