zoukankan      html  css  js  c++  java
  • Windows Phone 8.1开发:如何从ListView中,获取ScrollViewer对象

    在使用ListView作为信心呈现载体开发应用程序时,我们经常需要通过监视滚动条(ScrollViewer)的位置状态来完成一些交互逻辑。最直接的体现就是 延时加载,(上滑加载更多,下拉获取更新数据)。  

    我们可以通过 scrollViewer的ViewChanged事件,来完成这些逻辑。

    那么问题来了。(- -!不是说挖掘机……..)

    如何从ListView中,获取ScrollViewer对象?

    1.我们可以通过这样一个方法来 获取ListView下的ScrollViewer对象。  方法定义如下。

    //这个方法可以获取ListView下的ScrollViewer对象。

    public static T FindVisualChildByName<T>(DependencyObject parent, string name) where T : DependencyObject
          {
              try
              {
                  for (int i = 0; i < VisualTreeHelper.GetChildrenCount(parent); i++)
                  {
                      var child = VisualTreeHelper.GetChild(parent, i);
                      string controlName = child.GetValue(Control.NameProperty) as string;
                      if ((string.IsNullOrEmpty(name) || controlName == name) && child is T)
                      {
                          return child as T;
                      }
                      else
                      {
                          T result = FindVisualChildByName<T>(child, name);
                          if (result != null)
                              return result;
                      }
                  }
                  return null;
              }
              catch
              {
                  return null;
              }
          }

    2.//在listview的loaded事件中,调用FindVisualChildByName<T>方法,获取ScrollView对象。

    private void listview1_Loaded(object sender, RoutedEventArgs e)
    {

    //调用FindVisualChildByName<T>方法,获取ScrollView对象。
        ScrollViewer scrollViewer = FindVisualChildByName<ScrollViewer>(listview1, "ScrollViewer");

    //给这个scrollViewer加事件。
        scrollViewer.ViewChanged += scrollViewer_ViewChanged;
    }

  • 相关阅读:
    dubbo源码阅读-服务订阅(八)之本地订阅(injvm)
    dubbo源码阅读-服务订阅(八)之主流程
    dubbo源码阅读-服务暴露(七)之远程暴露(dubbo)
    dubbo源码阅读-配置(二)之API配置
    dubbo源码阅读-容器启动(六)
    LIRe 源代码分析 6:检索(ImageSearcher)[以颜色布局为例]
    LIRe 源代码分析 5:提取特征向量[以颜色布局为例]
    LIRe 源代码分析 4:建立索引(DocumentBuilder)[以颜色布局为例]
    智能电视大战背后的秘密
    二线视频网站突围战
  • 原文地址:https://www.cnblogs.com/mcad/p/4125421.html
Copyright © 2011-2022 走看看