【发布时间】:2016-09-20 05:49:42
【问题描述】:
当 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 style template,请注意有FadeOutThemeAnimation 附加到轨道的垂直/水平根上。您可以添加 BeginTime/Duration 来调整时间,但没有公开的属性可以在不深入模板的情况下执行此操作。
-
@ChrisW。我不太了解这些东西,但是所有 FadeOutThemeAnimation 似乎都已经有 BeginTime="0" (在您的第一个链接中),所以我不明白可以做什么。
-
不用担心。您正在寻找的是 FadeIn/FadeOut 主题转换以及如何为每个状态调用它们。例如,“NoIndicator”状态将 BeginTimes 设置为零,因为只要没有指示器是必要的,它就会根据其内置的计时功能立即开始淡出。例如,如果您要注释掉该状态的元素,那么轨迹将保持可见。需要一点练习才能习惯 VisualStateManager 的工作方式。在第一次学习时,使用“状态”标签查看它们如何交互,Blend 非常棒。
标签: c# xaml win-universal-app uwp uwp-xaml