2011-01-30 6 views
7

Mi aplicación está basada en AvalonDock, que tiene bastante buena apariencia en Visual Studio 2010 (que es mucho más bonita que todas las otras máscaras). Ahora me gustaría diseñar el resto de mi aplicación para que funcione. Me interesa más en las partes siguientes:¿Dónde puedo obtener temas para los controles WPF que se parecen a la interfaz de Visual Studio 2010?

  • Barra de herramientas de - que en su mayoría las arreglé para conseguir los colores a la derecha en la mía, pero las barras de herramientas VS siguen siendo más bonita.
  • (Contexto) Menú - VS tiene el cuadro de enfoque del elemento de menú azul reemplazado por uno agradable de color naranja, que le da a la aplicación una sensación mucho más cálida y amigable.
  • Ventana principal fondo - esto es algo que AD no entendió bien.

¿Están estos estilos en algún lugar de la web? ¿O pueden ser extraídos de algún modo del VS?

Gracias por cualquier ayuda.

Respuesta

12

Cuando tenía el mismo propósito, I utilizado Reflector (con BAML Viewer Add-in) y this color editor

Los estilos y las plantillas de los controles VS se encuentran en la ruta de acceso (Path of VS2010)\Common7\IDE\en\. El archivo necesario es Microsoft.VisualStudio.Shell.UI.Internal.resources.dll

Si para expandir esta biblioteca en BAML Viewer, habrá muchos archivos, pero los más útiles se enumeran en el archivo themes/generic.xaml.

Ellos son:

  • Estilos/MainWindowStyle.xaml - mark-up de la ventana principal.
  • Estilos/CommandMenuStyle.xaml: estilos del menú, la barra de herramientas, el cuadro combinado.
  • Estilos/StandardContextMenuStyle.xaml: estilo del menú contextual.

Por ejemplo, si abre MainWindowsStyle.xaml, se encuentra este código:

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

Ahora instale editor de temas VS en color, en Visual Studio temático abierto -> personalizar los colores -> predeterminado. enter image description here La clave EnvironmentBackgroundGradient tiene 4 elementos en la lista. Se puede escribir de la siguiente manera:

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

Probablemente, estos colores se explican en algún lugar de los detalles, pero no he encontrado esto, así que utiliza reflector.

Otros montajes que pueden ser útiles:

  • es \ Microsoft.VisualStudio.Platform.WindowManagement.resources.dll - estilos de TabControl y DockManager
  • PrivateAssemblies \ Microsoft.VisualStudio.ExtensionsExplorer.UI.DLL - selección de un nuevo proyecto

Y here es TabControl con VS2010 mira que he aplicado anteriormente. No tiene la misma funcionalidad, pero tiene el mismo aspecto.

+0

¿Y dónde puedo encontrar la definición del cepillo EnvironmentBackgroundGradientKey? No es el pincel lineal, porque creo que debería ser la textura punteada oscura que es el fondo de la ventana VS. –

+0

Los puntos son un pincel complicado que se llama EnvironmentBackgroundTexture. No sé cómo se creó, parece ser un DrawingBrush con un patrón como el 5 en los dados. – vorrtex

+0

¿Dónde puedo encontrar el Microsoft.VisualStudio.ExtensionsExplorer.UI.dll? – fahadash

Cuestiones relacionadas