8

私のアプリケーションは、非常に優れた Visual Studio 2010 スキン (他のすべてのスキンよりもはるかに美しい) を備えた AvalonDock を中心に構築されています。次に、アプリケーションの残りの部分をそれに合わせてスタイル設定したいと思います。次の部分に最も興味があります。

  • ツールバー- ほとんどの場合、自分で色を正しく設定することができましたが、VS ツールバーはまだきれいです。
  • (Context)Menu - VS では、青いメニュー項目のフォーカス ボックスが素敵なオレンジ色のボックスに置き換えられており、アプリケーションがより暖かく親しみやすいものになっています。
  • メイン ウィンドウの背景- これは、AD が正しく取得できなかったものの 1 つです。

これらのスタイルは Web 上のどこかにありますか? または、VSから何らかの方法で抽出できますか?

助けてくれてありがとう。

4

1 に答える 1

13

同じ目的で、Reflector ( BAML Viewer Add-in を使用) とこのカラー エディターを使用しました。

VS コントロールのスタイルとテンプレートは、パスにあります(Path of VS2010)\Common7\IDE\en\。必要なファイルはMicrosoft.VisualStudio.Shell.UI.Internal.resources.dll

このライブラリを BAML ビューアーで展開すると、多くのファイルが作成されますが、最も役立つファイルは、themes/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 - 新しいプロジェクトの選択

そして、これTabControl以前に実装した VS2010 の外観です。機能は同じではありませんが、見た目は同じです。

于 2011-01-30T18:02:00.533 に答える