0

我的要求是当我滚动浏览网格视图时,网格会随着网格视图一起移动。我使用 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 始终为空。设置断点我看到,GridView 内的 ScrollViewers 的计数为 0。

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

4

1 回答 1

1

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

   itemGridView.Loaded += itemGridView_Loaded;


引用 MSDN:

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

谢谢

于 2012-12-05T22:53:44.663 回答