| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Markus Raab Registriert seit: Aug 2001 Ort: Berlin Friedrichshain
Beiträge: 924
| unable to bind to property
Hallo Leute, ich versuche mich auch an meiner ersten MXML-Applikation. Die läuft auch so wie ich mir das vergestellt habe, allerdings gibt mir Flex immer die Warnung aus: Code: warning: unable to bind to property 'item' on class 'XML' (class is not an IEventDispatcher) Ein XML (glossary.xml) definiert alle Begriffe und die URL zu einer weiteren XML-Datei, in der dann auch die Begriffserklärung liegt. glossary.xml: Code: <?xml version="1.0" encoding="UTF-8"?> <glossary url="glossaryitems"> <item url="g0.xml"><![CDATA[Begriff 1]]></item> <item url="g1.xml"><![CDATA[Begriff 2]]></item> </glossary> Code: <?xml version="1.0" encoding="UTF-8"?> <glossaryitem> <item><![CDATA[Begriff 1]]></item> <explanation><![CDATA[<p>Begriffserklärung 1</p>]]></explanation> </glossaryitem> Code: <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="glossaryRequest.send()">
<mx:Script>
<![CDATA[
function listChange( event: Event ): void
{
itemRequest.url = "glossary/glossaryitems/" + list.selectedItem.@url;
itemRequest.send();
}
]]>
</mx:Script>
<mx:HTTPService id="glossaryRequest" url="glossary/glossary.xml" resultFormat="e4x"/>
<mx:HTTPService id="itemRequest" resultFormat="e4x"/>
<mx:HBox x="0" y="0" width="1010" height="70">
<mx:Image source="@Embed('assets/TopBar_ger_1010x70_clear.jpg')" scaleContent="false" id="topBarImage"/>
</mx:HBox>
<mx:HDividedBox top="80" bottom="10" width="990" x="10">
<mx:List id="list" width="323" height="715" dataProvider="{glossaryRequest.lastResult.item}" change="listChange(event)"></mx:List>
<mx:Text id="text" htmlText="{itemRequest.lastResult.explanation}"/>
</mx:HDividedBox>
</mx:Application>
__________________ Blog | derRaab(); - Flash Platform Developer | XING | Joykey - Joystickevent to Keyevent | electronicSat - elektronische Musik | MySpace |
| | |
| | #2 (permalink) |
| wolter.biz Registriert seit: Jun 2001 Ort: Düsseldorf
Beiträge: 3.391
|
Normale XML-Elemente sind nicht Bindable. Du kannst aber ein anderes resultFormat wählen (z. B. Object). Oder transformiere Deine XML-Strukturn zu eigenen bindbaren Wertobjekten (VOs). Viel Erfolg, Sascha. |
| | |
| | #3 (permalink) |
| Markus Raab Registriert seit: Aug 2001 Ort: Berlin Friedrichshain
Beiträge: 924
|
Aha. So ganz kapiert hab ich das noch nicht. Wenn ich einfach statt "e4x" "object" angebe, dann werden mir die Daten nicht mehr ausgegeben. ? Ich wollte halt zum Test einfach mal so viel wie möglich mit den Möglichkeiten innerhalb von MXML machen. Und irgendwie funktioniert das Binding ja trotzdem, weil ja der "dataProvider" der "List" schon aktualisiert wird. Ist diese Warnung eher nur als Hinweis zu verstehen um den ich mich im Prinzip nicht kümmern muss?
__________________ Blog | derRaab(); - Flash Platform Developer | XING | Joykey - Joystickevent to Keyevent | electronicSat - elektronische Musik | MySpace |
| | |
| | #4 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 11.856
|
Naja, es hängt davon ab, was du machen willst. Wenn sich die Daten nicht ändern, ist es egal. Du kannst aber auch die Warnung umgehen, indem du das XML Objekt in eine XMLListCollection steckst.
__________________ github: https://github.com/floriansalihovic/L18nExample <florian xmlns:speaker="www.beyondtellerrand.com/ffk11/speakers_sessions" xmlns:trainer="http://www.beyondtellerrand.com/ffk11/workshops" /> and @ g+ |
| | |
| | #5 (permalink) |
| Markus Raab Registriert seit: Aug 2001 Ort: Berlin Friedrichshain
Beiträge: 924
|
Kann ich das innerhalb des MXML-Attributes machen?
__________________ Blog | derRaab(); - Flash Platform Developer | XING | Joykey - Joystickevent to Keyevent | electronicSat - elektronische Musik | MySpace |
| | |
| | #6 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 11.856
|
Sorry, hatte mich versehen. Aber du kannst sowas machen: ActionScript:
__________________ github: https://github.com/floriansalihovic/L18nExample <florian xmlns:speaker="www.beyondtellerrand.com/ffk11/speakers_sessions" xmlns:trainer="http://www.beyondtellerrand.com/ffk11/workshops" /> and @ g+ |
| | |
| | #7 (permalink) |
| Markus Raab Registriert seit: Aug 2001 Ort: Berlin Friedrichshain
Beiträge: 924
|
Ok, aber das hat ja nix mit meinem Beispiel zu tun. Oder
__________________ Blog | derRaab(); - Flash Platform Developer | XING | Joykey - Joystickevent to Keyevent | electronicSat - elektronische Musik | MySpace |
| | |
| | #8 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 11.856
|
Ne, ich fürchte nicht... ich brauch einen Kaffee. Sorry...
__________________ github: https://github.com/floriansalihovic/L18nExample <florian xmlns:speaker="www.beyondtellerrand.com/ffk11/speakers_sessions" xmlns:trainer="http://www.beyondtellerrand.com/ffk11/workshops" /> and @ g+ |
| | |
| | #9 (permalink) |
| Markus Raab Registriert seit: Aug 2001 Ort: Berlin Friedrichshain
Beiträge: 924
|
Kein Problem Aber danke! Ich wurschtel mich da schon durch.
__________________ Blog | derRaab(); - Flash Platform Developer | XING | Joykey - Joystickevent to Keyevent | electronicSat - elektronische Musik | MySpace |
| | |
| | #10 (permalink) |
| Neuer User Registriert seit: Apr 2008
Beiträge: 6
|
Guten Morgen, erstmal ein herzliches Hallo, das hier ist mein erstes Posting in diesem Forum! Ich hänge mich hier mal an, da ich das gleiche Problem habe. Kannst du vielleicht etwas zur Lösung sagen? Bei mir sieht es konkret so aus: Ich habe eine Tilelist, die folgenden Renderer verwendet: Code: <?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2008/03/08/creating-a-simple-image-gallery-with-the-flex-tilelist-control/ -->
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="center" verticalAlign="middle">
<mx:Image source="{data.@thumbnailImage}" />
<mx:Label text="{data.@title}" />
</mx:VBox> Code: warning: unable to bind to property 'title' on class 'XML' (class is not an IEventDispatcher) warning: unable to bind to property 'thumbnailImage' on class 'XML' (class is not an IEventDispatcher) Ich weiß, dass ich wohl eine XMLListCollection nutzen muss. Das tue ich jedoch: Code: public var GREIFER_1:XML =
<image
title="VX220 Turbo"
company="Feine Greifer"
thumbnailImage="images/greifer/1_tn.gif"
source="images/greifer/1.gif" />;
[...]
public var _xmlGreiferSource:XMLList = GREIFER_1 + GREIFER_2 + GREIFER_3 + GREIFER_4;
[Bindable]
public var _xmlGreifer:XMLListCollection = new XMLListCollection(_xmlGreiferSource); Hat jemand eine Idee? Bin für jeden Hinweis dankbar! Vielen Dank, PsychoD Geändert von PsychoD (21-04-2008 um 09:48 Uhr) |
| | |
| | #11 (permalink) |
| Trennschleifer Registriert seit: Apr 2004 Ort: Hamburg
Beiträge: 1.282
|
ganz einfache lösung - verwende einfach einen ObjectProxy - der ist Bindable PHP-Code:
__________________ Es gibt nur zwei Arten von Menschen die Hawaiihemden tragen: Schwuchteln und dicke fette Partylöwen. Und du siehst nicht aus wie ein dicker fetter Partylöwe!" - Homer J. Simpson |
| | |
| | #14 (permalink) |
| Neuer User Registriert seit: Apr 2008
Beiträge: 6
|
AAAAAAHHH! Die Lösung ist manchmal soo einfach. Ich habs gelöst. Kein ObjectProxy, kein gar nichts. XML ist wohl direkt bindable. Daher: Aus z.B. <mx:Label text="{data.@title}" /> mach <mx:Label text="{XML(data).@title}" /> und die Warnings sind verschwunden. Danke für den Tipp trotzdem |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |