Как увеличить ширину полосы прокрутки в WPF ScrollViewer? - PullRequest
31 голосов
/ 24 августа 2009

Я работаю на сенсорном экране на небольшом устройстве, и настраиваемая ширина полосы прокрутки не годится, так как одно из моих требований состоит в том, что все должно быть выполнимо жестами пальца.

Как установить ширину полосы прокрутки WPF ScrollViewer?

Обратите внимание, что я не хочу изменять ширину всех полос прокрутки на устройстве (выполнимо через настройки Windows) - только те, которые есть в моем приложении.

Ответы [ 3 ]

52 голосов
/ 24 августа 2009

Шаблон ScrollBar обращается к системным параметрам, чтобы определить его ширину / высоту (в зависимости от ориентации). Поэтому вы можете переопределить эти параметры:

<ScrollViewer>
    <ScrollViewer.Resources>
        <sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">100</sys:Double>
    </ScrollViewer.Resources>
</ScrollViewer>
19 голосов
/ 15 августа 2012

Вот решение 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>
18 голосов
/ 02 сентября 2013

Ответ Кента также можно легко применить к всем полосам прокрутки в вашем приложении, поместив его в ресурсы App.xaml и указав ключ горизонтальной высоты.

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