我是一个小装置和滚动条的自定义宽度上的触摸屏上的工作是没有好,因为我的一个要求是,一切都需要由手指手势是可行的。
我如何设置WPF ScrollViewer中滚动条的宽度?
请注意,我不想改变设备上的所有滚动条的宽度(可行通过Windows设置) - 只有那些在我的应用程序。
我是一个小装置和滚动条的自定义宽度上的触摸屏上的工作是没有好,因为我的一个要求是,一切都需要由手指手势是可行的。
我如何设置WPF ScrollViewer中滚动条的宽度?
请注意,我不想改变设备上的所有滚动条的宽度(可行通过Windows设置) - 只有那些在我的应用程序。
的ScrollBar
模板伸出为系统参数,以确定其宽度/高度(取决于方向)。 因此,您可以覆盖这些参数:
<ScrollViewer>
<ScrollViewer.Resources>
<sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">100</sys:Double>
</ScrollViewer.Resources>
</ScrollViewer>
这里是一个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>
肯特的答案也可以应用到你的应用程序轻松地滚动条都通过将其放置在你的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>