How to increase scrollbar width in WPF ScrollViewer?
The ScrollBar
template reaches out for system parameters to determine its width/height (depending on orientation). Therefore, you can override those parameters:
<ScrollViewer> <ScrollViewer.Resources> <sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">100</sys:Double> </ScrollViewer.Resources></ScrollViewer>
Kent's answer can also be applied to easily all scrollbars in your application by placing it in your App.xaml
resources, and by specifying the horizontal height key as well.
<Application xmlns:sys="clr-namespace:System;assembly=mscorlib" ...> <Application.Resources> <sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">50</sys:Double> <sys:Double x:Key="{x:Static SystemParameters.HorizontalScrollBarHeightKey}">50</sys:Double> </Application.Resources></Application>
Here is a XAML solution:
<Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}"> <Setter Property="Stylus.IsFlicksEnabled" Value="True" /> <Style.Triggers> <Trigger Property="Orientation" Value="Horizontal"> <Setter Property="Height" Value="40" /> <Setter Property="MinHeight" Value="40" /> </Trigger> <Trigger Property="Orientation" Value="Vertical"> <Setter Property="Width" Value="40" /> <Setter Property="MinWidth" Value="40" /> </Trigger> </Style.Triggers></Style>