RichTextBox for WPF | ComponentOne
C1RichTextBox Appearance / C1RichTextBox Themes
In This Topic
    C1RichTextBox Themes
    In This Topic

    RichTextBox for WPF incorporates several themes that allow you to customize the appearance of your grid. When you first add a C1RichTextBox control to the page, it appears similar to the following image:

    This is the control's default appearance using C1SimplifiedRichTextBoxToolbar. You can change this appearance by using one of the built-in themes or by creating your own custom theme. All of the built-in themes are based on WPF Toolkit themes. The built-in themes are described and pictured below; note that in the images below, C1SimplifiedRichTextBoxToolbar has been selected to show selected styles:

    Theme Name

    Theme Preview

    C1ThemeBureauBlack

    C1ThemeExpressionDark

    C1ThemeExpressionLight

    C1Blue

    C1ThemeOffice2007Blue

    C1ThemeOffice2007Black

    C1ThemeOffice2007Silver

    C1ThemeOffice2010Blue

    C1ThemeOffice2010Black

    C1ThemeOffice2010Silver

    C1ThemeShinyBlue

    C1ThemeWhistlerBlue

    C1ThemeOffice2013White

    C1ThemeOffice2013LightGray

    C1ThemeOffice2013DarkGray

    C1ThemeOffice2016Black

    C1ThemeOffice2016Colorful

    C1ThemeOffice2016DarkGray

    C1ThemeOffice2016White

    C1ThemeCosmopolitanDark

    C1ThemeCosmopolitan

    Note: Themes are only supported in 4.5.2 version.

    To set an element's theme, use the ApplyTheme method. First add a reference to the theme assembly to your project, and then set the theme in code, like this:

    Visual Basic
    Copy Code
    Private Sub Window_Loaded(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
       Dim theme As New C1ThemeExpressionDark
       ' Using ApplyTheme
       C1Theme.ApplyTheme(LayoutRoot, theme)
    
    C#
    Copy Code
    private void Window_Loaded(object sender, RoutedEventArgs e)
       {
          C1ThemeExpressionDark theme = new C1ThemeExpressionDark();
          //Using ApplyTheme
          C1Theme.ApplyTheme(LayoutRoot, theme);
       }
    

    To apply a theme to the entire application, use the System.Windows.ResourceDictionary.MergedDictionaries property. First add a reference to the theme assembly to your project, and then set the theme in code, like this:

    Visual Basic
    Copy Code
    Private Sub Window_Loaded(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
       Dim theme As New C1ThemeExpressionDark
       ' Using Merged Dictionaries
    Application.Current.Resources.MergedDictionaries.Add(C1Theme.GetCurrentThemeResources(theme))
    End Sub
    
    C#
    Copy Code
    private void Window_Loaded(object sender, RoutedEventArgs e)
       {
          C1ThemeExpressionDark theme = new C1ThemeExpressionDark();
          //Using Merged Dictionaries        Application.Current.Resources.MergedDictionaries.Add(C1Theme.GetCurrentThemeResources(theme));
       }
    

    Note that this method works only when you apply a theme for the first time. If you want to switch to another ComponentOne theme, first remove the previous theme from Application.Current.Resources.MergedDictionaries.