c# - 更改 ScrollViewer 滚动条自动隐藏计时器的默认时间

标签 c# xaml win-universal-app uwp uwp-xaml

当 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

...它们确实支持依赖属性,例如 BeginTimeDuration,这使我们能够更改其操作的默认行为。因此,要补救您的场景,您可以选择将它们完全从 VisualStateManager 中各自的状态中移除,或者您可以更改属性以更好地满足您自己的时间线要求。

这样做只是使用 VS 或 Blend 提取控件模板,然后将更改显式应用到模板副本或全局覆盖默认值。

很高兴您找到了补救措施。 :)

关于c# - 更改 ScrollViewer 滚动条自动隐藏计时器的默认时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37389446/

相关文章:

c# - 这可能是 lambda 表达式吗?

c# - 需要在 webview Win 10 UWP 中获取鼠标事件

c# - 如何在另一个页面/ View 模型上使用在一个 View 模型中创建的数据?

c# - 帮助理解 C# 和多线程

c# - 使用数据注释分配 DateTime 的格式?

c# - XamlWriter.Save() 没有序列化 DependencyProperties

c# - 在 wpf 中对 ListView 进行分组

c# - 将描边应用于 TextBlock (Windows 8)

c# - lambda 运算符在 C# 通用 Windows 10 应用程序中是否有其他用途?

c# - MVC HttpGet 和 HttpPost