当我有同样的目的时,我使用了 Reflector(带有BAML Viewer Add-in)和这个颜色编辑器
VS 控件的样式和模板位于路径(Path of VS2010)\Common7\IDE\en\
. 必要的文件是Microsoft.VisualStudio.Shell.UI.Internal.resources.dll
如果要在 BAML Viewer 中扩展这个库,会有很多文件,但最有用的文件列在文件主题/generic.xaml 中。
他们是:
- Styles/MainWindowStyle.xaml - 主窗口的标记。
- Styles/CommandMenuStyle.xaml - 菜单、工具栏、组合框的样式。
- Styles/StandardContextMenuStyle.xaml - 上下文菜单的样式。
例如,如果您打开 MainWindowsStyle.xaml,您会发现以下代码:
<Setter x:Uid="Setter_26" Property="Background" Value="{DynamicResource {x:Static EnvironmentBackgroundGradientKey}}" />
现在安装 VS Color 主题编辑器,在 Visual Studio 中打开 Theme -> Customize Colors -> Default。
该键EnvironmentBackgroundGradient
在列表中有 4 个项目。可以这样写:
<LinearGradientBrush x:Key="EnvironmentBackgroundGradient" StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Color="#293955"/>
<GradientStop Color="#35496a" Offset="0.5"/>
<GradientStop Color="#35496a" Offset="0.5"/>
<GradientStop Color="#293955" Offset="1"/>
</LinearGradientBrush>
可能,这些颜色在某处有详细解释,但我没有找到这个,所以我使用了 Reflector。
另一个有用的程序集:
- en\Microsoft.VisualStudio.Platform.WindowManagement.resources.dll - TabControl 和 DockManager 的样式
- PrivateAssemblies\Microsoft.VisualStudio.ExtensionsExplorer.UI.dll - 选择新项目
这是我之前实现的 VS2010 外观。TabControl
它没有相同的功能,但看起来相同。