VS2015中如何获取未在XAML中的WPF类型(如GridViewColumnHeader)的默认模板?
获取WPF GridViewColumnHeader默认模板(VS2015)
当然可以搞定!在VS2015里,哪怕GridViewColumnHeader没在你的XAML代码里直接出现,也有好几种方法能拿到它的默认模板,我给你分享几个实操性强的路子:
方法一:用Blend for Visual Studio(VS2015集成版)
这是最直观的可视化操作方法:
- 打开你的WPF项目,在VS顶部菜单点击「项目」→「在Blend中打开」
- 进入Blend后,按下
Ctrl+Shift+E调出「资产」面板,在「控件」分类里找到GridViewColumnHeader,把它拖到设计画布上 - 右键这个刚拖进来的控件,依次选择「编辑模板」→「编辑副本」,接着选择模板要保存的位置(比如当前窗口的资源或者独立的资源字典),确认后就能看到完整的默认模板XAML代码了
方法二:通过代码提取模板
如果不想开Blend,也可以用代码输出模板:
- 在你的窗口(或页面)的
Loaded事件里添加如下代码:
private void Window_Loaded(object sender, RoutedEventArgs e) { var header = new GridViewColumnHeader(); header.ApplyTemplate(); // 将模板转为XAML字符串并输出到调试窗口 string templateXaml = System.Windows.Markup.XamlWriter.Save(header.Template); System.Diagnostics.Debug.WriteLine(templateXaml); }
- 运行程序,打开VS的「输出」窗口(调试→窗口→输出),就能看到完整的模板XAML代码,复制出来就能用啦
方法三:查看WPF框架默认资源(进阶)
如果想直接看框架底层的资源,可以用反编译工具(比如ILSpy)打开PresentationFramework.dll(一般在C:\Windows\Microsoft.NET\Framework\v4.0.30319路径下),找到GridViewColumnHeader的默认样式和模板定义。不过这个方法需要额外工具,推荐优先用前两种。
内容的提问来源于stack exchange,提问作者char m
相关产品推荐
相关产品推荐

