The binding mechanism will cause any function to be called if one of its arguments is bindable and changes. I don't know the particular app, but I suspect model.workflowState is bindable.
"Bindable" really only applies to properties, whether implemented as public variables or as getter/setters. Tracy Spratt, Lariat Services, development services available _____ From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of normc_actionscript Sent: Tuesday, November 24, 2009 8:59 PM To: flexcoders@yahoogroups.com Subject: [SPAM] [flexcoders] cairngorm store example - newbie binding question Greetings Flex pros: In the modified cairngorm store (if you're familiar), file ProductsAndCheckoutControlBar.mxml, there's: <mx:Image source="{ getProductThumbnailsButton( model.workflowState ) }" That function (getProductThumbnailsButton) is not marked as 'bindable' so how does the binding happen? The var model is the only thing marked as bindable in the file. This is the function: public function getProductThumbnailsButton( enforceBining : Number ) : Class { var model : ShopModelLocator = ShopModelLocator.getInstance(); var result : Class = model.assets.thumbOff; if ( model.workflowState == ShopModelLocator.VIEWING_PRODUCTS_IN_THUMBNAILS ) { result = model.assets.thumbOn; } return result; }