最好的模板示例:我们知道每个控件都有自己默认的模板,这是MS编写的,如果我们能够得到这些模板的XAML代码,那么它将是学习模板的最好的示例, 要想获得某个控件ctrl的默认模板,请调用以下方法: private string GetTemplateXamlCode(Control ctrl) { FrameworkTemplate template = ctrl.Template; string xaml = ""; if (template != null) { XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; settings.IndentChars = new string(' ', 4); settings.NewLineOnAttributes = true; StringBuilder strbuild = new StringBuilder(); XmlWriter xmlwrite = XmlWriter.Create(strbuild, settings); try { System.Windows.Markup.XamlWriter.Save(template, xmlwrite); xaml = strbuild.ToString(); } catch (Exception exc) { xaml = exc.Message; } } else { xaml = "no template"; } return xaml; }