Wpf 全局更改我的应用程序中滚动条的宽度

Wpf 全局更改我的应用程序中滚动条的宽度,wpf,webbrowser-control,Wpf,Webbrowser Control,我有一个在触摸屏计算机上运行的WPF应用程序。我想更改应用程序中的所有滚动条,使其更宽。有没有一种方法可以在全局范围内实现这一点?您必须覆盖scrollViewer的默认模板以增加垂直滚动条的宽度。要在所有滚动条上应用模板,请在应用程序资源中放置覆盖样式- <Style TargetType="{x:Type ScrollViewer}"> <Setter Property="OverridesDefaultStyle" Value="True"/> <Se

我有一个在触摸屏计算机上运行的WPF应用程序。我想更改应用程序中的所有滚动条,使其更宽。有没有一种方法可以在全局范围内实现这一点?

您必须
覆盖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>

....

谢谢。这可以工作,但它会在屏幕左侧显示滚动条。知道怎么解决吗?我已经更新了答案。在样式中将
水平内容对齐设置为左侧
,将
垂直内容对齐设置为顶部
。看看它是否有效。对于默认模板,请参考此链接-第一个建议不起作用,但我使用了整个默认模板并更改了宽度,这正是我所需要的。谢谢你的帮助!谢谢这可以工作,但它会在屏幕左侧显示滚动条。知道怎么解决吗?我已经更新了答案。在样式中将
水平内容对齐设置为左侧
,将
垂直内容对齐设置为顶部
。看看它是否有效。对于默认模板,请参考此链接-第一个建议不起作用,但我使用了整个默认模板并更改了宽度,这正是我所需要的。谢谢你的帮助!