.NET 4控制没有Blend的默认模板

时间:2011-08-22 06:04:39

标签: .net wpf datatemplate

当人们无法使用Expression Blend时,人们如何找到.NET控件的默认模板?

到目前为止,当我需要WPF控件的模板时,我访问了Codeplex上的WPF项目页面,浏览了源代码,并且通常在“Generic.xaml”文件中找到了默认模板。

但现在我正在寻找“Frame”控件的默认模板。我在Codeplex上找不到它,我也没有在MS提供的.NET框架源中看到它(没有提供XAML文件,只有.cs文件)。

Style Snooper工具提供了一个默认模板,但它似乎是逆向工程(不必要的冗长和引用内部类),而不是原始的清晰定义。

那么,穷人如何获得这些模板?

2 个答案:

答案 0 :(得分:7)

1)您可以获取默认模板并将其序列化为文件。

var resource = Application.Current.FindResource(typeof(Control_Under_Interest));
using (XmlTextWriter writer = new XmlTextWriter(file_name, System.Text.Encoding.UTF8))
{
    writer.Formatting = Formatting.Indented;
    XamlWriter.Save(resource, writer);
}

2)带有Baml Viewer的反射器可用于从程序集中获取资源字典。

3)dotPeek 1.1支持BAML反汇编。

答案 1 :(得分:0)

here是zebi for .Net4.0的链接。