11

System.Windows.Controls.Ribbon を .Net Framework 4.5 からカスタマイズして、Expression Dark テーマ (Blend のデフォルト テーマのような暗い色) で使用できるようにします。私は次のアイデアを試しましたが、今まで何の進歩もありませんでした:

  • リボンの背景を変更します。メインの色のみを変更しますが、他のすべての光沢のある色、ハイライト色などはそのままにします。
  • スタイルとテンプレートの変更: リボン 4.5 の既定のテンプレートが見つかりませんでした。ShowMeTheTemplate などのツールで取得しようとしましたが、内部クラスを使用しているようです。
  • Blend for VS2012 でテンプレートをカスタマイズする: 「テンプレートのコピーに失敗しました」というエラーが常に表示されます。
  • RibbonControlLibrary の .net 4 リボンを使用します。RibbonWindow は Windows 8 では見苦しく見えます ( WPF RibbonWindow + Windows 8 - コントロール ボックスの外観が悪いを参照)。解決できません。

どんな助けでも大歓迎です、すべての提案は大歓迎です。

4

3 に答える 3

6

Show me the templatesを使用して、完全に機能するテンプレートを抽出することができました。そのために、(メイン フレームワーク アセンブリではなく) "System.Windows.Controls.Ribbon" からテンプレートを抽出するように変更しました。

それは私に次のことを与えます:

https://gist.github.com/drayde/75526b570a266f5f8f38 (ここに貼り付けるには長すぎます)

これをリソースに追加して、次のように使用します。

    <Ribbon Template="{StaticResource ribbonTemplate}">
       ...
    </Ribbon>

テンプレートを変更することで、リボンの表示方法を完全に制御できるようになります。

于 2014-11-17T16:19:00.860 に答える
5

リボンのプロパティを設定することで、いくつかの色を変更できます。

<ribbon:Ribbon x:Name="Ribbon"
                  Background="Khaki"
                  BorderBrush="Brown"
                  MouseOverBackground="LightCoral"
                  MouseOverBorderBrush="Coral"
                  PressedBackground="LightGreen"
                  PressedBorderBrush="Green"
                  CheckedBackground="LightBlue"
                  CheckedBorderBrush="Blue"
                  FocusedBackground="LightSlateGray"
                  FocusedBorderBrush="SlateBlue">

見栄えの良い例ではありませんが、その方法を示しています。

完全な再スタイリングを行う方法にも興味があります...

于 2014-11-14T16:57:03.137 に答える