【问题标题】:WinRT FlipView Scrolling EventWinRT FlipView 滚动事件
【发布时间】:2012-11-28 22:13:11
【问题描述】:

是否有可能知道,当 FlipView 前后滑动时,屏幕上当前显示的是什么项目?我能看到的唯一相关事件是 SelectionChanged,它只会在 FlipView 停止时引发,而不是在人快速翻阅多个项目时引发。我想实现一个“页码”指示器,即使 FlipView 没有停止,它也会发生变化。我正在使用 C++/CX。

【问题讨论】:

    标签: windows-runtime


    【解决方案1】:

    您可以检查作为 FlipView 控件模板一部分的 ScrollViewer。要获得控件 - 您将使用 VisualTreeHelper 扫描可视化树以查找它。那么也许 ScrollViewer 的 ViewChanged 事件会让您查看 FlipView 是否被操纵。

    【讨论】:

    • 谢谢,效果很好。 ScrollViewer 的 Horizo​​ntalOffset 属性为我提供了屏幕上项目的“实时”指示。
    • 巧妙的想法,拯救了我的一天
    • 没有什么巧妙之处。多年来人们一直在这样做,尽管有些人出于性能原因警告不要使用VisualTreeHelper
    【解决方案2】:

    如果您只想显示页码,您可以将显示页码的 TextView 数据绑定到 FlipView 的 SelectedIndex 属性。您需要创建一个将 SelectedIndex 加 1 的 ValueConverter,但这只需一分钟。

    【讨论】:

    • 问题是在 FlipView 到达一个句号之前,SelectedIndex 不会被更新
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多