当 ScrollViewer 有滚动条显示,并且光标在大约 3 秒内没有移动时,滚动条会自动隐藏。
有没有办法将该时间设置为大于或小于默认时间?
编辑
这样重现:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<ScrollViewer Height="500" Width="500">
<Grid Background="Blue" Height="1000" Width="1000">
</Grid>
</ScrollViewer>
</Grid>
将光标移到 ScrollViewer 上以显示滚动条。让光标不动 3 秒钟,滚动条就会消失。我想将这 3 秒更改为 1 秒。
编辑 2
后续问题 - Why does this ScrollViewer's ScrollBars appear twice? .
最佳答案
我想我需要开始改掉在评论中快速回答的习惯;
来自上面的原始评论。 Scrollbar
的控件样式模板在 VisualStateManager
部分嵌入了 FadeIn/FadeOut 的 ThemeAnimation,它们嵌套在各种状态中。
因为他们是 animations继承顺序;
Object -> DependencyObject -> Timeline
...它们确实支持依赖属性,例如 BeginTime
和 Duration
,这使我们能够更改其操作的默认行为。因此,要补救您的场景,您可以选择将它们完全从 VisualStateManager
中各自的状态中移除,或者您可以更改属性以更好地满足您自己的时间线要求。
这样做只是使用 VS 或 Blend 提取控件模板,然后将更改显式应用到模板副本或全局覆盖默认值。
很高兴您找到了补救措施。 :)
关于c# - 更改 ScrollViewer 滚动条自动隐藏计时器的默认时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37389446/