分析WPF代码工具
http://wpfinspector.codeplex.com/releases/view/62380
http://www.silverlightchina.net/html/windows8/study/2012/0609/16587.html
http://www.silverlightchina.net/html/windows8/study/2012/0609/16587.html
http://www.cnblogs.com/manuosex/archive/2012/12/05/2802970.html
http://www.cnblogs.com/manuosex/archive/2012/12/07/2806801.html
http://blog.csdn.net/zyc13701469860/article/category/1282947
http://www.oschina.net/question/234345_56678
得到可视树的代码
int j = 0; string str; private void ProcessElement1(DependencyObject element) { // Create a TreeViewItem for the current element. string str1 = element.GetType().Name; // Check whether this item should be added to the root of the tree //(if it's the first item), or nested under another item. if (str1 == null) { str += str1 + j.ToString() + System.Environment.NewLine; } else { str += str1 + j.ToString() + System.Environment.NewLine; } // Check if this element contains other elements. for (int i = 0; i < VisualTreeHelper.GetChildrenCount(element); i++) { // Process each contained element recursively. j++; ProcessElement1(VisualTreeHelper.GetChild(element, i)); j--; } }