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