【问题标题】:Where are the default WPF Control Templates? [duplicate]默认的 WPF 控件模板在哪里? [复制]
【发布时间】:2014-08-08 03:27:23
【问题描述】:

默认的Control Templates 显然以二进制形式存在于我们添加为每个项目的“引用”的不同 DLL 中。

它们是否以 ASCII/源代码形式存在于某处?有货吗?

TIA

【问题讨论】:

  • 您可能需要 Microsoft 的源代码许可证。
  • @TravisBanger 我不需要看 MSDN 上的...
  • 你能提供一个更好的链接吗?您提供的那些甚至无法点击。我找到了“Classic.xaml”这个词,在我的硬盘中查找它,在 Windows SDK 中找到它。它在一个压缩文件中。没用。
  • “我不需要看 MSDN 上的那些” 愿意与读者分享一份吗?它们是 XAML 文件,对吗?愿意说出 ONE 的标题或行数吗?
  • @swiss_programmer,我点击了“ListView”,它有 341 行。它不在文件中(屏幕上的格式化文本),但很容易复制粘贴......顺便说一句,我没有看到你的评论,因为你忘记了“@BradleyDOTNet”,很抱歉这个回复迟到了.

标签: c# wpf datagrid wpf-controls


【解决方案1】:

有一些免费工具可用于探索默认 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 控件模板”会将链接的文章显示为第二个结果。如果链接发生变化,同样的搜索可能会产生好的结果。

    【讨论】:

    • 我之前得到了一个链接,它指向一些自定义(紫色)控件。真正的东西无处可寻。不过,我会关注你的链接。
    猜你喜欢
    • 2011-04-02
    • 2011-11-06
    • 2011-04-01
    • 2022-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-03
    相关资源
    最近更新 更多