Where can i find the default WPF Control templates?
As this blog post says, use this code (call it once) and read the output file (defaultTemplate.xml):
public static void SaveDefaultTemplate()
{
var control = Application.Current.FindResource(typeof(ButtonSpinner));
using (XmlWriter writer = XmlWriter.Create(@"defaultTemplate.xml"))
{
XamlWriter.Save(control, writer);
}
}
In my opinion this is the best method.
Some elements like DataGridCell
are not extractable through Visual Studio tweak: Properties
>Template
>Convert to New Resource...
because you can't explicitly define any DataGridCell.
In Visual Studio 2015 (at least) you can right click the control in the XAML designer and select "Edit Style->Edit a Copy" to view and edit the default template for a control. Much easier than cracking open Blend, downloading a style viewer, or searching the web.
I arrived at this question via Google a few times, and could not see the link I wanted, so here it is...
- WPF styles and templates (These are not actually the defaults. I recommend avoiding these, and extracting them from Blend instead.)
- Silverlight styles and templates
These links have the following info for each framework control:
- Named template parts
- Visual states
- Full XAML default control template and resources
You can find the templates for all themes at Microsoft Docs.
Furthermore, there are several tools out there which can read the styles from an assembly.
For example, you could use Style Snooper.
However, for your scenario (getting the built-in templates), the above documentation link should be the easiest.