Flex :: Binding - Bind Property Of View To Property Of Class Using MATE?
Jan 9, 2011
Lately i discovered MATE (for Flex development) and was wondering: how do i bind a property in a view (actually a navigatorcontent component) to another property in a class so that they stay in synchronization (meaning that whenever the property in the class changes the property in the view also changes).
So if we have a view called Target.mxml and a property targertProp how do we bind it to the class called SourceClass with property SourceProp?
Is is possible to bind class properties to mxml components ? E.g.: I have a class A.as with a String property nameValue. What I want to achieve is always having the latest value of a mx:Text component in nameValue.
i am using xmllistcollection for displaying data in list. whenever i run my application data is display in list control, but this warning has displayed in console. How can i remove this warning warning: unable to bind to property 'xmlnode' on class 'XML' (class is not an IEventDispatcher)
I've got an object that contains a dozen or so fields I want to bind to form elements, so that I can use that object to send the data back to the server to be saved.
I'm wondering if there is a way I can bind a flex property to flash property?, the flash property is inside a swc file created in flash with the Flex Component Kit for Flash Professional, I can manipulate the flash component as a regular flex component, but I want to bind their properties, is there a way?
I am using Flex to create a small form. All I have at the moment is a List component, that I want to populate with a list of font names.I am getting the fonts using Font.enumerateFonts(true);. This returns an array of flash.text.Font objects.
The Font objects have a fontName property that is a String of that fonts name.My problem is that I can't figure out how to bind the List's dataProvider to the fontName property of each of the Font objects in the Array.Is there a way to do this just with binding? and not creating a new array of Strings by looping through the Font objects?
I am trying to: 1) create a dynamic property 2) bind that property to a label This works great for "sealed properties", but for dynamic properties there doesn't appear to be any event triggered. Are dynamic properties implicityly not bindable?
var myObj:MyType = new MyType(); // MyType is dynamic myObj["myDynamicPropertyName"] = "initialized"; BindingUtils.bindProperty(myLabel, "data", myObj, repeatedLabel.name); // myLabel now displays "initialized" myObj["myDynamicPropertyName"] = "changed"; // myLabel still displays "initialized", it should say "changed" !!!
Is it possible to set a percentage value for the width property of an UIComponent defined in MXML using data binding?
What I try to achieve is something like this (which doesn't work):
<s:Button width="{buttonWidth}%"/>
I know that using percentage for width or height properties in MXML is kind of a hack in the Flex SDK, since they're supposed to accept numerical values only, but since percentWidth and percentHeight aren't available in MXML, I'm pretty stuck =/
I would really like to avoid using code to do such a simple thing, in order to keep my code as clear and readable as posible.
class A: with a property "data:ArrayCollection". It's my data source (data provider) and has bitmaps.
class B: has an instance of A (called "Ainst") and calls the following method: C.init( Ainst.data). To pass the data provider to Object C.
class C: has a reference of the data provider "data" (because of "init" method). It shows the arrayCollection into Images as: Image.source = data.getItemAt(0).
But C never updates its images, that is, data binding doesn't work with this scheme. I've put [Bindable] meta-tag in all properties and even classes.
I have a PresentationModel AS class that holds all the values used in SomeView.mxml. The entire class for the model is bindable, and the model property in the view is also bindable. However, I am unable to inject the model into the view using the PropertyInjector tag:
- INFO: Data binding will not be able to detect assignments to model MainEventMap.mxml <EventHandlers type="{FlexEvent.INITIALIZE}">[code].....
How can i do binding exists property in actionscript e.g. i want image still in middle aplication..in mxml i do this simple as <mx:Image source="image.jpg" x="{this.width/2}"/> ...i don't know how can i do this simple in actionscript without event handlers... i put this code to application_creationCompleteHandler..something like var image:Image = new Image();image.source="image.jpg";image.x=this.width/2; or have i put this to another function?
I have a bindable getter in a component which informs me when a [hidden] timer is running. I also have a context menu which, if this timer is running, should disable one of the menu items.Is it possible to create a ChangeWatcher which watches for the negative condition of a bindable property/getter and changes the enabled property of the menu item?Class B:[code]In the code above, I have the inverse case: when isPlaying() is true, the menu item is enabled; I want it to only be enabled when the condition is false.[code]
I have no success binding mxml control to AC3 object property. I'm new to AC3/Flex and assume my aproach is kinda "Javascript like" and might be completely wrong. Here's mxml (don't pay attention to mistypes/syntax errors):
Setting the text property of a flex DateField makes the selectedDate property of that DateField go to null.I need to set the text property so that I can use a particular format (DD-MMM-YYYY).
Can we put [Bindable] on functions/methods? I know that bindable is used to change the value of the source property to destination property. But not sure if we can use that for methods. why we cannot put/ if we can then what will be the outcome?
Does there exist a Flex view component that you could just pass it a custom object with all public fields/properties that it could reflect over and produce a basic UI view using flex components. Is it possible to use something like the Spark DataGrid with one item laid out vertically. It would only have to support:
Im bulding a class that has a bunch of properties, and looks something like this:[code]This compiles fine, but doesn't print anything. When i step through it, it seems to skip over the loop, as if "this" doesn't have any properties.
If user change the value of the TextInput, then click refresh button to retrieve the data model from backend again, the GUI value will not change back. Re-binding not happen, Since the value of data model not changed, no propertyChanged event fired.In this case, I must Programmatically set the model value to the GUI after data refreshing done.I know bi-directional binding can solve this problem(when user change value on GUI, set the new value to data model immediately). But sometimes I cannot use bi-directional binding, for example, the data model is a int, but user input a non-int value, I cannot set the value to data model. So the value in data model do not change, when refresh data, rebinding still not happen.
This will make the data binding useless. How to resolve this?I put pseudo-code here for now, I will put real code later:1. retrieve a data model from server, via blazeds or something else.2. bind the model to a TextInput on GUI.3. user change the TextInput text.4. User click a refresh button, triger retrieve the model value again.5. Now since the model value do not change, no PropertyChanged event fired.6. GUI value still is the user's input, not the value from the model. can clear the model value before set the velue back, make re-binding happen.(but sometimes you do not know how to clean the model value, take int for example, you may do not know the original value and happen set the same value). Or I can manually set the model value to GUI. But both are not good looking.
I want to extend the FileReference class of Flex to contain a custom property. I want to do this because AS3 doesn't let me pass arguments to functions through event listeners, which makes me feel sad, so I need this property to exist on the event target, so I can access it.I also want to be able to cast extant FileReference objects to this class without any fuss. I have:var fr:SmxFR = e.target as SmxFR and I want that to work; right now it just returns null.A blank, newly instantiated SmxFR object has the extended property in place, but all of its inherited properties and objects return Error: Error #2037: Functions called in incorrect sequence, or earlier call was unsuccessful.[code]I get living handle property from that, and all other (that is, inherited) properties throw Error #2037.So, maybe what I want to do is going to require overriding FileReferenceList? If the original objects must be instantiated to SxmFR, that's what I'll have to do, since I'm using FRL to allow the user to select multiple files at once. Are you guys sure there is no way to fast from a FileReference to my class?
I recently found a method (ByteArray.clear()) that FlexBuilder complains is possibly undefined; however, the method is in fact documented in the Flex LiveDocs. It must have been added in a later version of the SDK than I have installed. I'm not asking about this particular method, but I'm giving it as an example of the documentation issue that I'm trying to resolve. My questions are:
How can I determine what version of the SDK or Flash player that a method or property was added in? How can I tell which versions of the SDK are supported on which Flash player versions?
I want to be able to determine from the documentation, instead of compiler or runtime errors, what SDK and Flash player versions are needed to support newly added methods.
With Java I look for the @since javadoc tag when I need to know this, but I can't find an equivalent feature in the Flex docs.
in AS3, I have an external class ImageLoader, that loads an image upon request. In that class, I have an event handlers:
[Code]...
I am trying to send the download progress updates back to the main Document Class and display it on screen, so I am trying to dispatch the event "PROGRESS_INFO" and then get the information from the passed Event Object, like so: Document Class
[Code]...
This however, is proving futile... any ideas on how I can get the progress info out of the IMageLoader class? note: I know I can add bytesLoaded & bytesTotal to a public variable, but then I won't get the benefit of seeing the bytesLoaded property update in the ProgressEvent class.
Using org.as3commons.reflect I can look-up the class name, and instantiate a class at runtime.I also have (non-working) code which invokes a method. However, I really want to set a property value. I'm not sure if properties are realized as methods internally in Flex.I have a Metadata class which stores 3 pieces of information: name, value, and type (all are strings).I want to be able to loop through an Array of Metadata objects and set the corresponding properties on the instantiated class.[code]I realize that I have to declare a dummy variable of the type I was to instantiate, or use the -inculde compiler directive. An unfortunate drawback of Flex.Also, right now there's code to account for typecasting the value to it's specified type.
I would like to know if it is the same to assign properties to my custom component in its own class, or from the parent document. Here I assign the property bottom in my custom component class: