Thanks,

I'm only resisting because I like the simplicity of MXML, I'm 
actually FAR more comfortable with Actionscript.  Thanks, and yes, I 
know about get and set... thanks though.  

So it looks like I'm doing it the preferred way anyway.  Thanks for 
the responses!


Jason

--- In flexcoders@yahoogroups.com, "Tracy Spratt" <[EMAIL PROTECTED]> wrote:
>
> Public variable is one certainly acceptable way.  Another is to use
> setter/getter functions. They are especially useful if you need to 
take
> some action when the property value is set. I use these very often.
> 
>  
> 
> You can declare a public property in mxml:
> 
> <mx:Object id="imageSource" />
> 
> I don't do this much and wonder about data type issues.
> 
>  
> 
> All mxml declared properties are public.  I don't know any way to 
make
> the private.
> 
>  
> 
> Except by declaring them in AS, which you are resisting.
> 
>  
> 
> Tracy
> 
>  
> 
> ________________________________
> 
> From: flexcoders@yahoogroups.com 
[mailto:[EMAIL PROTECTED] On
> Behalf Of Merrill, Jason
> Sent: Friday, January 11, 2008 12:05 PM
> To: flexcoders@yahoogroups.com
> Subject: [flexcoders] Setting custom component properties in MXML
> 
>  
> 
> 
> When using your own custom made components in MXML, what is the 
best way
> to easily set properties? I.e., say I have a simple component that 
has
> an image inside a panel, and I want to set the image source in my 
MXML,
> like this:
> 
> <c:MyImageComponent imageSource="myPhoto.jpg" />
> 
> The way I figured was to setup the component like this with a public
> property - this works, but seems kinda kludgy - isn't there a more
> preferred way (WITHOUT doing it all in Actionscript)?
> 
> <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml
> <http://www.adobe.com/2006/mxml> " 
> width="500" height="800" creationComplete="update()">
> <mx:Script>
> <![CDATA[
> public var imageSource:String;
> 
> private function update():void
> {
> userPhotoImage.source = imageSource;
> }
> ]]>
> </mx:Script>
> <mx:Panel x="100" y="100">
> <mx:Image id="userPhotoImage" x="10" y="10"/>
> </mx:Panel>
> </mx:Canvas>
> 
> Bonus question - is there a way to make the component ids inside of 
the
> main component private? (i.e., in the example above, make the id for
> the <mx:Image> component private). Because when I see code hinting, 
I
> see both the public property imageSource, but also the Image 
component's
> id, "userPhotoImage", which I would prefer to keep private.
> 
> 
> 
> Jason Merrill
> Bank of America 
> GT&O L&LD Solutions Design & Development 
> eTools & Multimedia 
> 
> Bank of America Flash Platform Developer Community
>


Reply via email to