2015-06-20 163 views
0

我需要获得列表视图的滚动查看器以在列表视图中实现延迟加载。为此,我已经提到这个 http://windowsapptutorials.com/windows-phone-8-1/listview/lazy-loading-listview/ 我用来检索的ScrollViewer功能是获取列表视图的滚动查看器Windows Phone 8.1

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?

+0

你在哪里试图得到这个* ScrollViewer *? – Romasz

+0

@Romasz在列表加载事件。我也在其他一些地方尝试过。但是,它只返回0 –

+0

在[这个答案](http://stackoverflow.com/a/23672239/2681948)的末尾,你会发现一个样本,你可以尝试,如果它的工作?它也以同样的方式获得scrollviewer。 – Romasz

回答

0

WinRT xaml工具包为VisualTreeHelper提供了一个扩展,它增加了一个GetFirstDecendantOfType。只要使用它。

请参阅Source on Codeplex

相关问题