Windows Phone 8.1開發:如何從ListView中,擷取ScrollViewer對象

來源:互聯網
上載者:User

標籤:ar   color   使用   sp   for   strong   on   資料   問題   

在使用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;
}

Windows Phone 8.1開發:如何從ListView中,擷取ScrollViewer對象

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.