If you are defining your component in MXML, then no, id cannot be private. When you define a component in MXML, the component class will inherit from whatever the main container class is, which in this case is Canvas. Canvas extends UIComponent, which defines the id attribute as being public. The only way to create a component with a private id attribute is to create the component in ActionScript, extend a subclass of UIcomponent, then override the id getter setter. And this goes for 'redefining' any built-in property of a UIComponent class.
_______________________________________________________________ Joseph Balderson, Flash Platform Developer | http://joeflash.ca Writing partner, Community MX | http://www.communitymx.com Abobe Certified Developer & Trainer Merrill, Jason wrote: > 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" > 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 > > > > > > > -- > Flexcoders Mailing List > FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com > Yahoo! Groups Links > > > >