You can customize every single color/brush used by DotNetBar for WPF controls like Ribbon, Docking and NavigationPane.

You do so by defining your own resource dictionary with replacement entries for brushes that we use. Our controls uses ComponentResourceKey as key to find the brushes and resources. ComponentResourceKey is composed of two parts: Type and ID.

Type is determined as follows:

Ribbon controls uses Ribbon as type.
Docking controls use DockSite as type.
NavigationPane controls use NavigationPane as type.

The IDs used in ComponentResourceKey are defined as static members of RibbonColors, DockColors and NavigationPaneColors classes. The names are designed to be self explanatory.

There are two ways you can perform the customization. First is to place custom brush definition as part of your Window.Resources or part of Resources for specific control you want to modify colors for. For example you would use following XAML to define custom colors for active dock window caption:

<Window.Resources>
  <LinearGradientBrush x:Key="{ComponentResourceKey {x:Type  dd:DockSite}, {x:Static dd:DockColors.DockCaptionActiveBackground}}"  StartPoint="0,0" EndPoint="0,1">
    <LinearGradientBrush.GradientStops>
      <GradientStop Color="Red" Offset="0" />
      <GradientStop Color="Yellow" Offset="1" />
    </LinearGradientBrush.GradientStops>
  </LinearGradientBrush>
  <SolidColorBrush x:Key="{ComponentResourceKey {x:Type dd:DockSite},  {x:Static dd:DockColors.DockCaptionActiveForeground}}" Color="Green"  />
</Window.Resources>

Second way to perform customization is to create resource dictionary in separate files. First you add resource dictionary to your project with content like this:

<ResourceDictionary x:Class ="RibbonPad.CustomTheme"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:dc="clr-namespace:DevComponents.WpfDock;assembly=DevComponents.WpfDock">
  <SolidColorBrush x:Key="{ComponentResourceKey {x:Type dc:DockSite},  {x:Static dc:DockColors.DocumentTabPanelBackground}}" Color="Red" />
  <SolidColorBrush x:Key="{ComponentResourceKey {x:Type dc:DockSite},  {x:Static dc:DockColors.DockCaptionActiveBackground}}" Color="Green"  />
</ResourceDictionary>

Related posts:

  1. How to re-use the brushes and colors used by Ribbon and other WPF controls
  2. How to change WPF Office 2007 Color Scheme
  3. All you need to know about Color Input controls in DotNetBar for WPF
  4. How To Start Using Wpf-Dock Control
  5. How to do MVVM with WPF Navigation Pane