在GridView中检测滚动事件(Windows 8)

时间:2012-11-22 18:02:30

标签: xaml windows-8 scroll microsoft-metro

我们如何在某些方面检测GridView中的滚动事件(如ScrollViewer上的ViewChanged),如默认的GridView模板示例应用程序?我想复制netflix App在左侧红色条带上的效果。

我尝试将GridView放在滚动查看器中,但是我一直没有成功地将它拉伸到屏幕上以获得不同的分辨率。

更新:我打算将它与NuGet上的VariableGrid控件一起使用 - 虽然它不是官方控件,但它继承了GridView

3 个答案:

答案 0 :(得分:1)

执行此操作的最佳方法似乎是您可以读取控件的组件,并为其分配事件。基于此示例中发生的事情

http://mikaelkoskinen.net/post/WinRT-XAML-Automatically-Scrolling-ListView-to-Bottom-and-Detecting-When-ListView-is-Scrolled.aspx

我抓住了对滚动条的访问权,起诉了VisualTreeExtensions,我可以捕获事件Scroll,就像在示例中一样。当网格的Loaded事件被解雇时,我必须阅读这些孩子。

答案 1 :(得分:1)

有一种更简单的方法。

编辑GridView的模板,查看XAML内部以查找ScrollViewer,它是GridView的一个组件。

ScrollViewer有一个ViewChanged事件,您可以订阅。现在每当滚动GridView时,都会触发此事件。

答案 2 :(得分:0)

在GridView上尝试ManipulationCompleted和PointerReleased事件。这只是使用键盘鼠标..