Category / Section
How to customize the scroll bar style in UWP RichTextBox control?
3 mins read
You can customize the visual appearance of the scroll bar in the SfRichTextBoxAdv control by defining a custom style for the scroll bar based on your requirements.
The following code example demonstrates the custom style definition for the scroll bar.
<SolidColorBrush Color="Black" x:Key="ScrollBarBackgroundBrush"/> <SolidColorBrush Color="Blue" x:Key="ScrollBarPanningBackgroundBrush"/> <Style TargetType="ScrollBar"> <Setter Property="MinWidth" Value="7"/> <Setter Property="MinHeight" Value="7"/> <Setter Property="Background" Value="Transparent"/> <Setter Property="Foreground" Value="Transparent"/> <Setter Property="BorderBrush" Value="Transparent"/> <Setter Property="IsTabStop" Value="False"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="ScrollBar"> <Grid x:Name="Root" Background="{StaticResource ScrollBarBackgroundBrush}"> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="CommonStates"> <VisualState x:Name="Normal"/> <VisualState x:Name="PointerOver"/> <VisualState x:Name="Disabled"> <Storyboard> <DoubleAnimation Duration="0" To="0.5" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="Root"/> </Storyboard> </VisualState> </VisualStateGroup> <VisualStateGroup x:Name="ScrollingIndicatorStates"> <VisualState x:Name="TouchIndicator"> <Storyboard> <FadeInThemeAnimation Storyboard.TargetName="HorizontalPanningRoot"/> <FadeInThemeAnimation Storyboard.TargetName="VerticalPanningRoot"/> </Storyboard> </VisualState> <VisualState x:Name="MouseIndicator"/> <VisualState x:Name="NoIndicator"> <Storyboard> <FadeOutThemeAnimation BeginTime="0" Storyboard.TargetName="HorizontalPanningRoot"/> <FadeOutThemeAnimation BeginTime="0" Storyboard.TargetName="VerticalPanningRoot"/> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <Grid x:Name="HorizontalPanningRoot" MinWidth="53"> <Rectangle x:Name="HorizontalPanningThumb" AutomationProperties.AccessibilityView="Raw" Fill="{StaticResource ScrollBarPanningBackgroundBrush}" HorizontalAlignment="Left" Height="2.4" MinWidth="7"/> </Grid> <Grid x:Name="VerticalPanningRoot" MinHeight="53"> <Rectangle x:Name="VerticalPanningThumb" AutomationProperties.AccessibilityView="Raw" Fill="{StaticResource ScrollBarPanningBackgroundBrush}" MinHeight="7" VerticalAlignment="Top" Width="2.4"/> </Grid> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style>
The following screenshot demonstrates the SfRichTextBoxAdv control with a customized scroll bar.
Figure 1: SfRichTextBoxAdv control in a Desktop App.
Figure 2: SfRichTextBoxAdv control in a Windows Phone App.
The following sample demonstrates how to customize the scroll bar style in the SfRichTextBoxAdv control.
WinRT (Windows 8 and 8.1): Sample_WinRT
Universal (Windows 8.1): Sample_Universal
Universal Windows (Windows 10): Sample_UinversalWindows