Sebastian, thanks for responding.
So I can use the generic RadSkinManager object without actually instantiating a local object?
If I apply a skin to a master object (Like a Splitter) with .ApplySkin(), will it automatically propagate down into the sub-panes and sliding panels and the like? Likewise with the tab menus? Or do I have to apply it to each Rad control by name? I ask this because some of my controls are a bit complex with Splitters that contain sliding panes that have tabs that have calendars, grids, etc. There may be 20 or more Rad controls in a single ASCX file. I am trying to write a generic function to paint the whole ASCX with the chosen skin because we will ultimately be writing our own skins and need a way to apply them across the board quickly.
I have done some programming before that iterated over controls looking for objects with iSkinnable interfaces to change skins on, but got lost because some of the Rad controls allow access to their contained collections of controls, but others don't recurse so cleanly. I was hoping that the RadSkinManager could do that for me. If I don't specifically set a list of TargetControls(), can I read from that property to get all of the skinnable controls?
The other thing I am having a hard time discovering from the documentation is that if I use the RadSkinManager, do I still have to manually add references to my custom skin CSS files for each type of control? Or if I put them in the /Skins/ directory (Like other skin names) then will it auto-load the various CSS files for me? If not, then I might as well go ahead and keep my recursion code to find skinnable controls.