获取ListBox控件中的ScrollerBar

当我们需要操作ListBox中的ScrollerBar的时候我们可以通过VisualTreeHelper来找到。代码如下:
public static childItem FindVisualChild<childItem>(DependencyObject obj)
   where childItem : DependencyObject
{
   // Search immediate children first (breadth-first)
   for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
   {
      DependencyObject child = VisualTreeHelper.GetChild(obj, i);

      if (child != null && child is childItem)
         return (childItem)child;

      else
      {
         childItem childOfChild = FindVisualChild<childItem>(child);

         if (childOfChild != null)
            return childOfChild;
      }
   }

   return null;
}
这个函数返回可是树中第一个参数对象,比如找csrollerview的时候可以这样调用:
CallFindVisualChild<ScrollViewer>(ListBox)。
posted @ 2011-08-24 14:28  孤狼晖  阅读(276)  评论(0编辑  收藏  举报