I'm trying to make a button in Silverlight use a control template to change the way it looks.
I need to do this dynamically in code (not xaml markup).
The Button object has a Template property to which you can assign a ControlTemplate.
But how do you stuff UI elements into the ControlTemplate?
(In WPF, there is a VisualTree property but no such property exists in Silverlight)
Best Answer
I'm not sure if this helps, but just in case. To create buttons using a control template in code behind (not XAML) I've done it like this:
load the control template from an xml definition (below is a link to the source)
create the button and add it to the visual tree (in this case a wrap panel)
string onebutton = string.Format(buttonTemplate, mnu.CatItemName, mnu.CatItemImage, "{StaticResource buttonStyle1}", "{StaticResource CatItemNameBlock}", "{StaticResource ThumbNailPreview}", ictr.ToString()); ictr += 1;
I wrote a post on my blog about the Best Buy Remix API which uses this to build a product list in the details page. It has a link to the Silverlight source. In case you're interested.
blog post link