Wpf 在滚动条拇指上方或下方单击不';卷轴

Wpf 在滚动条拇指上方或下方单击不';卷轴,wpf,xaml,scrollbar,controltemplate,Wpf,Xaml,Scrollbar,Controltemplate,在默认的滚动条上,当在拇指上方或下方单击时,滚动条将沿单击的方向移动 我有一个自定义的滚动条模板,这个功能不再工作了。我看了一眼,但似乎没有发现任何与此相关的东西。那么,这是如何工作的呢 知道我的控件模板中可能缺少什么吗 <ControlTemplate TargetType="{x:Type ScrollBar}"> <Grid x:Name="Bg" SnapsToDevicePixels="true" Ba

在默认的
滚动条上
,当在
拇指上方或下方单击时,滚动条将沿单击的方向移动

我有一个自定义的滚动条模板,这个功能不再工作了。我看了一眼,但似乎没有发现任何与此相关的东西。那么,这是如何工作的呢

知道我的控件模板中可能缺少什么吗

<ControlTemplate TargetType="{x:Type ScrollBar}">
   <Grid x:Name="Bg" SnapsToDevicePixels="true" Background="Transparent" Opacity="0.01">
      <Track x:Name="PART_Track" IsDirectionReversed="True" IsEnabled="{TemplateBinding IsMouseOver}">
         <Track.Thumb>
            <Thumb Style="{StaticResource DefaultVerticalScrollBarThumbStyle}"/>
         </Track.Thumb>
      </Track>
   </Grid>
   <ControlTemplate.Triggers>
      <DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource AncestorType={x:Type ScrollViewer}}}" Value="True">
         <DataTrigger.EnterActions>
            <BeginStoryboard>
               <Storyboard>
                  <DoubleAnimation Storyboard.TargetName="Bg" Storyboard.TargetProperty="Opacity" From="0.01" To="0.9" Duration="0:0:0.5"/>
               </Storyboard>
            </BeginStoryboard>
         </DataTrigger.EnterActions>
         <DataTrigger.ExitActions>
            <BeginStoryboard>
               <Storyboard>
                  <DoubleAnimation Storyboard.TargetName="Bg" Storyboard.TargetProperty="Opacity" From="0.9" To="0.01" Duration="0:0:0.5"/>
               </Storyboard>
            </BeginStoryboard>
         </DataTrigger.ExitActions>
      </DataTrigger>
   </ControlTemplate.Triggers>
</ControlTemplate>

如果您搜索有关控件模板的信息,最好查看该模板上的,而不是参考源,它更易于阅读并提供了一些示例

滚动条拇指上方和下方的区域为s。您必须使用
DecreaseRepeatButton
IncreaseRepeatButton
属性将它们添加到
曲目中:

<Track x:Name="PART_Track" IsDirectionReversed="True" IsEnabled="{TemplateBinding IsMouseOver}">
   <Track.DecreaseRepeatButton>
      <RepeatButton Command="ScrollBar.PageUpCommand" />
   </Track.DecreaseRepeatButton>
   <Track.Thumb>
      <Thumb Style="{StaticResource DefaultVerticalScrollBarThumbStyle}"/>
   </Track.Thumb>
   <Track.IncreaseRepeatButton>
      <RepeatButton Command="ScrollBar.PageDownCommand" />
   </Track.IncreaseRepeatButton>
</Track>

当然,你应该根据你的设计来设计这些按钮。顺便说一下,
滚动条上的向上和向下按钮的工作方式相同,您可以向
网格中添加两个
重复按钮
,一个在
轨迹上方,一个在下方,但使用
滚动条.LineUpCommand
滚动条.LineDownCommand