Wpf 全局更改我的应用程序中滚动条的宽度
我有一个在触摸屏计算机上运行的WPF应用程序。我想更改应用程序中的所有滚动条,使其更宽。有没有一种方法可以在全局范围内实现这一点?您必须Wpf 全局更改我的应用程序中滚动条的宽度,wpf,webbrowser-control,Wpf,Webbrowser Control,我有一个在触摸屏计算机上运行的WPF应用程序。我想更改应用程序中的所有滚动条,使其更宽。有没有一种方法可以在全局范围内实现这一点?您必须覆盖scrollViewer的默认模板以增加垂直滚动条的宽度。要在所有滚动条上应用模板,请在应用程序资源中放置覆盖样式- <Style TargetType="{x:Type ScrollViewer}"> <Setter Property="OverridesDefaultStyle" Value="True"/> <Se
覆盖scrollViewer的默认模板
以增加垂直滚动条的宽度。要在所有滚动条上应用模板,请在应用程序资源中放置覆盖样式-
<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\u VerticalScrollBar'
的宽度设置为所需的宽度(如上例所示,设置为40)。将此样式放置在应用程序资源下(App.xaml)使其应用于整个应用程序。您必须覆盖scrollViewer的默认模板
以增加垂直滚动条的宽度。要在所有滚动条上应用模板,请在应用程序资源中放置覆盖样式-
<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\u VerticalScrollBar'
的宽度设置为所需的宽度(如上例所示,设置为40)。将此样式放置在应用程序资源下(App.xaml)可使其应用于整个应用程序。您需要在资源内部创建一个样式,指示目标类型
此样式将应用于xaml文件中的所有滚动条
<Window.Resources>
<Style TargetType="{x:Type ScrollBar}">
....
</Style>
....
您需要在资源内部创建一个样式
,指示目标类型
此样式将应用于xaml文件中的所有滚动条
<Window.Resources>
<Style TargetType="{x:Type ScrollBar}">
....
</Style>
....
谢谢。这可以工作,但它会在屏幕左侧显示滚动条。知道怎么解决吗?我已经更新了答案。在样式中将水平内容对齐设置为左侧
,将垂直内容对齐设置为顶部
。看看它是否有效。对于默认模板,请参考此链接-第一个建议不起作用,但我使用了整个默认模板并更改了宽度,这正是我所需要的。谢谢你的帮助!谢谢这可以工作,但它会在屏幕左侧显示滚动条。知道怎么解决吗?我已经更新了答案。在样式中将水平内容对齐设置为左侧
,将垂直内容对齐设置为顶部
。看看它是否有效。对于默认模板,请参考此链接-第一个建议不起作用,但我使用了整个默认模板并更改了宽度,这正是我所需要的。谢谢你的帮助!