默认的WPF控件模板在哪里?

3

默认的控件模板(Control Templates)显然存在于我们向每个项目添加为“引用”的不同DLL文件中的二进制形式中。

它们是否以ASCII/源代码形式存在?它们是否可用?

TIA


你可能需要从微软获得源代码许可证。 - Travis Banger
@TravisBanger 我不需要一个来查看MSDN上的那些内容... - BradleyDotNET
你能提供一个更好的链接吗?你提供的那些甚至不能被点击。我找到了单词“Classic.xaml”,在我的硬盘上搜索它,在Windows SDK中找到了它。它在一个压缩文件中。它是无用的。 - user3550325
我不需要一个来查看MSDN上的代码。你愿意和读者分享一个吗?它们是XAML文件,对吗?你能告诉我其中一个的标题或行数吗? - user3550325
@swiss_programmer,我点击了“ListView”,它有341行。它不在文件中(它是屏幕上格式化的文本),但很容易复制粘贴...顺便说一句,我没有看到你的评论,因为你忘记了“@ BradleyDOTNet”,对于这个回应的迟到我很抱歉。 - BradleyDotNET
@swiss_programmer,链接在“本节内容”部分中(在讨论“classic.xaml”下面)。 - BradleyDotNET
2个回答

2

有免费工具可用于探索默认wpf控件的模板,例如Show Me The Template!(还有控件样式的工具,参见StyleSnooper)。

或者您可以使用以下方法探索模板:

private string getTemplate(Control control)
{
    StringBuilder stringBuilder = new StringBuilder();

    XmlWriterSettings xmlSettings = new XmlWriterSettings();
    xmlSettings.Indent = true;

    using (XmlWriter xmlWriter = XmlWriter.Create(stringBuilder, xmlSettings))
    {
        XamlWriter.Save(control.Template, xmlWriter);
    }
    return stringBuilder.ToString();
}

2
它们可以在MSDN上免费获取。"目录"页面位于以下位置:http://msdn.microsoft.com/en-us/library/aa970773(v=vs.110).aspx
我知道这只是一个链接,但答案确实就是一个链接...
目前,谷歌搜索“WPF控件模板”将显示链接的文章作为第二个结果。如果链接更改,则相同的搜索可能会产生良好的结果。

之前我收到了一个链接,但是里面只有一些自定义(紫色)控件,真正的东西却没有找到。不过我会跟随你给我的链接。 - user3550325

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接