2013-07-05 181 views
7

我嘗試從.Net Framework 4.5中自定義System.Windows.Controls.Ribbon,因此可以使用Expression Dark主題(深色Blend的默認主題)。 我試過以下的思路,但是到現在爲止沒有任何進展:如何自定義WPF功能區4.5(樣式,模板等)

  • 更換色帶的背景:將改變只有主 顏色,但保留所有其他顏色光澤,突出的CoLOS等
  • 更改樣式和模板:我找不到 Ribbon 4.5的任何默認模板。我試圖通過像ShowMeTheTemplate, 這樣的工具來獲取它們,但似乎它們使用了一些內部類。
  • 使用Blend for VS2012自定義模板:總是出現一個錯誤「複製模板失敗。」
  • 使用.NET 4色帶從RibbonControlLibrary:在RibbonWindow 看起來在Windows 8醜(見WPF RibbonWindow + Windows 8 - control box looks bad),我解決不了

任何幫助,將不勝感激,所有的建議都歡迎。

回答

2

您可以通過在功能區設置屬性,改變了幾個顏色:

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

不完全是一個好看的例子,但說明了如何做到這一點。

是否有興趣如何做一個完整的重新造型,以及...

+0

再好不過;-) – peter70

2

我能夠提取使用Show me the templates一個完全工作的模板。爲此,我修改了它以從「System.Windows.Controls.Ribbon」(而不是主框架程序集)中提取模板。

它給了我下面的:

https://gist.github.com/drayde/75526b570a266f5f8f38(太長,粘貼到這裏)

只需添加到您的資源,並使用它像這樣:

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

通過修改你的模板應該完全控制您的色帶顯示方式。