我有一个在触摸屏计算机上运行的WPF应用程序。我想将应用程序中的所有滚动条更改为更宽。有没有办法在全球范围内做到这一点?
答案 0 :(得分:3)
哟必须override the default template of scrollViewer
才能增加垂直滚动条的宽度。要在所有滚动条中应用模板,请将覆盖样式放在App资源中 -
<Style TargetType="{x:Type ScrollViewer}">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="HorizontalContentAlignment" Value="Left" />
<Setter Property="VerticalContentAlignment" Value="Top" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ScrollViewer}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<ScrollContentPresenter Grid.Column="1"/>
<ScrollBar Name="PART_VerticalScrollBar"
Value="{TemplateBinding VerticalOffset}"
Width="40"
Maximum="{TemplateBinding ScrollableHeight}"
ViewportSize="{TemplateBinding ViewportHeight}"
Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}"/>
<ScrollBar Name="PART_HorizontalScrollBar"
Orientation="Horizontal"
Grid.Row="1"
Grid.Column="1"
Value="{TemplateBinding HorizontalOffset}"
Maximum="{TemplateBinding ScrollableWidth}"
ViewportSize="{TemplateBinding ViewportWidth}"
Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
您可以将'PART_VerticalScrollBar'
的宽度设置为所需的宽度(例如上面的示例中的40)。在Application Resources
(App.xaml)下放置此样式会使其应用于整个应用程序。
答案 1 :(得分:1)
您需要在资源内部创建一个Style
,表示TargetType
。
此样式将应用于xaml文件中的所有ScrollBars。
<Window.Resources>
<Style TargetType="{x:Type ScrollBar}">
....
</Style>