当我滚动网格视图时,我的要求是让网格与网格视图一起移动。 我使用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时移动网格元素?
答案 0 :(得分:1)
我找到了这种行为的原因。我在页面构造函数中执行此查询。当itemGridView被完全加载时,我现在拥有它。
itemGridView.Loaded += itemGridView_Loaded;
从MSDN引用:
加载:
在构造FrameworkElement并将其添加到对象树并准备好进行交互时发生。 (继承自FrameworkElement)
由于