网格视图 - 捕获滚动位置

时间:2012-12-05 19:06:15

标签: c# .net xaml winrt-xaml windows-store-apps

当我滚动网格视图时,我的要求是让网格与网格视图一起移动。 我使用WinRT XAML Toolkit来获取Gridview后代http://winrtxamltoolkit.codeplex.com/ - VisualTreeHelperExtensions。

这是我必须在GridView中获取滚动条的代码。

    var scrollViewer = itemGridView.GetFirstDescendantOfType<ScrollViewer>();
    var scrollbars = scrollViewer.GetDescendantsOfType<ScrollBar>().ToList();
    var horizontalBar = scrollbars.FirstOrDefault(x => x.Orientation == Orientation.Horizontal);
    horizontalBar.Scroll += horizontalBar_Scroll

我的问题是 - scrollViewer始终为null。设置断点我看到,GridView中的ScrollViewers计数为0。

如何获取gridview内滚动条的引用?或者是否有另一种方法在滚动gridview时移动网格元素?

1 个答案:

答案 0 :(得分:1)

我找到了这种行为的原因。我在页面构造函数中执行此查询。当itemGridView被完全加载时,我现在拥有它。

   itemGridView.Loaded += itemGridView_Loaded;


从MSDN引用:

  加载


  在构造FrameworkElement并将其添加到对象树并准备好进行交互时发生。 (继承自FrameworkElement)

由于