【发布时间】:2015-06-22 05:07:47
【问题描述】:
我需要获取列表视图的滚动查看器以在列表视图中实现延迟加载。为此,我参考了这个 http://windowsapptutorials.com/windows-phone-8-1/listview/lazy-loading-listview/ 我用来检索滚动查看器的功能是
public static ScrollViewer GetScrollViewer(DependencyObject depObj)
{
if (depObj is ScrollViewer) return depObj as ScrollViewer;
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i++)
{
var child = VisualTreeHelper.GetChild(depObj, i);
var result = GetScrollViewer(child);
if (result != null) return result;
}
return null;
}
问题是 VisualTreeHelper.GetChildrenCount 始终为 0 并且该函数返回 null。如何获取 Listview 的滚动查看器?
【问题讨论】:
-
你在哪里尝试得到这个 ScrollViewer?
-
@Romasz In List 加载事件。我也在其他一些地方试过。但是,它只返回 0
-
在this answer的末尾你会找到一个样本,你可以试试它是否有效?它也以同样的方式获得滚动查看器。
-
可能是可见性问题吗?在尝试获取 ScrollViewer 之前确保它是可见的。
标签: listview data-binding windows-phone-8.1 scrollviewer