开发者

Where can I get themes for WPF controls that resemble the Visual Studio 2010 interface?

开发者 https://www.devze.com 2023-02-07 06:42 出处:网络
My application is build around AvalonDock, which has quite good Visual Studio 2010 skin (which is 开发者_运维问答much prettier than all the other skins). Now I would like to style the rest of my appli

My application is build around AvalonDock, which has quite good Visual Studio 2010 skin (which is 开发者_运维问答much prettier than all the other skins). Now I would like to style the rest of my application to go with it. I'm interested most in following parts:

  • Toolbar - I mostly managed to get the colors right on my own, but the VS toolbars are still prettier.
  • (Context)Menu - VS has the blue menu item focus box replaced with a nice orange one, which gives the application much warmer and friendlier feel.
  • Main window background - this is one thing which AD didn't get right.

Are these styles somewhere on the web? Or can they be somehow extracted from the VS?

Thanks for any help.


When I had the same purpose, I used Reflector (with BAML Viewer Add-in) and this color editor

The styles and templates of the VS controls are located at the path (Path of VS2010)\Common7\IDE\en\. Necessary file is Microsoft.VisualStudio.Shell.UI.Internal.resources.dll

If to expand this library in BAML Viewer, there will be many files, but the most useful are listed in the file themes/generic.xaml.

They are:

  • Styles/MainWindowStyle.xaml - mark-up of the main window.
  • Styles/CommandMenuStyle.xaml - styles of the menu, the toolbar, the combobox.
  • Styles/StandardContextMenuStyle.xaml - style of the context menu.

For example, if you open MainWindowsStyle.xaml, you will find this code:

<Setter x:Uid="Setter_26" Property="Background" Value="{DynamicResource {x:Static EnvironmentBackgroundGradientKey}}" />

Now install VS Color theme editor, in Visual Studio open Theme -> Customize Colors -> Default.

Where can I get themes for WPF controls that resemble the Visual Studio 2010 interface?

The key EnvironmentBackgroundGradient has 4 items in the list. It can be written in the following way:

<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>

Probably, these colors are explained somewhere in detail, but I haven't found this, so I used Reflector.

Another assemblies that can be useful:

  • en\Microsoft.VisualStudio.Platform.WindowManagement.resources.dll - styles of the TabControl and DockManager
  • PrivateAssemblies\Microsoft.VisualStudio.ExtensionsExplorer.UI.dll - selection of a new project

And here is TabControl with VS2010 look that I've implemented earlier. It doesn't have the same functionality, but it looks the same.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号