【发布时间】:2010-12-12 08:51:48
【问题描述】:
在哪里可以找到原生 WPF 控件(如 Button、CheckBox、TextBox 等)的 Generic.xaml(或其他具有默认外观的代码)?
【问题讨论】:
-
到目前为止,对我而言,最简单的方法是按照 Martin 的建议使用 Blend。将控件放到一个 Window 上,右键单击它,选择 Edit Template -- Edit a Copy,为新样式命名,然后瞧。
在哪里可以找到原生 WPF 控件(如 Button、CheckBox、TextBox 等)的 Generic.xaml(或其他具有默认外观的代码)?
【问题讨论】:
在 Silverlight 中(我知道您的问题是关于 WPF),此信息比在 WPF 中更易于访问。您可以从以下任何来源获取此信息:
Control Styles and Templates 在 MSDN 上。
您可以查看相关 Silverlight 程序集的资源并提取资源中嵌入的 themes/generic.xaml。我使用 Reflector 来做到这一点。
您可以使用工具提取特定控件的控件模板。我使用 Expression Blend 来做到这一点。这也适用于 WPF。
【讨论】:
很遗憾,本机控件的 XAML 不能直接作为文件使用。您需要使用一个程序来查看 WPF 程序集并提取该信息。我个人使用过Mole for Visual Studio 工具,它做得非常好。它集成为调试器-可视化器,非常方便。
【讨论】: