WP7中的DependencyObject和DependencyProperty

这两个概念一直困扰了我很长时间,在下面这个方法中的应用我一直不太懂,今天的一篇博客给了我或多或少的启发

博客来源http://www.devdiv.com/article-1834-1.html 

  private T Find<T> (DependencyObject root) where T : class
        {
            var queue = new Queue<DependencyObject>();
            queue.Enqueue(root);
            while(queue.Count > 0)
            {
                DependencyObject current = queue.Dequeue();
                for (int i = VisualTreeHelper.GetChildrenCount(current) - 1; i >= 0; i--)
                {
                    var child = VisualTreeHelper.GetChild(current, i);
                    var typedChild = child as T;
                    if (typedChild != null)
                    {
                        return typedChild;
                    }
                    queue.Enqueue(child);
                }
            }
            return null;

        } 

现在对该方法有了浅层的了解,但是还是不深刻,有些地方的自我解释还是说服不了自己,现在稍作记录,改日再详细分析。。。。。

 

posted @ 2012-04-04 16:49  张小然  阅读(1125)  评论(0编辑  收藏  举报