2012-08-15 32 views

回答

2

哟必须override the default template of 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_VerticalScrollBar'宽度到您所需的宽度(比如在上面的例子40).Placing Application Resources下这种风格(应用程序.xaml)使其适用于整个应用程序。

+0

谢谢。这工作,但它显示屏幕左侧的滚动条。任何想法如何解决这个问题? – tzerb 2012-08-15 14:14:48

+0

我已经更新了答案。在样式中将“Horizo​​ntalContentAlignment设置为左”和“VerticalContentAlignment设置为Top”。看看它是否有效。 – 2012-08-15 14:23:16

+0

也为默认模板参考此链接 - http://msdn.microsoft.com/en-us/library/cc278065(v=vs.95).aspx – 2012-08-15 14:23:59

1

您需要在Resources中创建一个Style,指示TargetType

此样式将应用于xaml文件中的所有滚动条。

<Window.Resources> 
    <Style TargetType="{x:Type ScrollBar}"> 
     .... 
    </Style> 
相关问题