【问题标题】:Get Scroll Viewer of List View Windows phone 8.1获取列表视图的滚动查看器 Windows phone 8.1
【发布时间】: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


【解决方案1】:

WinRT xaml 工具包为 VisualTreeHelper 提供了一个扩展,它添加了一个 GetFirstDecendantOfType。就用那个吧。

Source on Codeplex

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    相关资源
    最近更新 更多