wpf scrollbar width scrollviewer

¿Cómo aumentar el ancho de la barra de desplazamiento en WPF ScrollViewer?



scrollbar width (3)

Aquí hay una solución XAML:

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

Estoy trabajando en una pantalla táctil en un dispositivo pequeño y el ancho personalizado de la barra de desplazamiento no es bueno, ya que uno de mis requisitos es que todo debe ser posible mediante gestos con los dedos.

¿Cómo puedo configurar el ancho de la barra de desplazamiento WPF ScrollViewer?

Tenga en cuenta que no quiero cambiar el ancho de todas las barras de desplazamiento en el dispositivo (se puede realizar a través de la configuración de Windows), solo las de mi aplicación.


La respuesta de Kent también puede aplicarse a todas las barras de desplazamiento en su aplicación colocándola en sus recursos de App.xaml y especificando también la clave de altura horizontal.

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


La plantilla ScrollBar alcanza los parámetros del sistema para determinar su ancho / alto (dependiendo de la orientación). Por lo tanto, puede anular esos parámetros:

<ScrollViewer> <ScrollViewer.Resources> <sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">100</sys:Double> </ScrollViewer.Resources> </ScrollViewer>