Window Phone 7 查看控件的可视化树

有时候想查看一下控件可视化树结构,去查看”C:\Program Files\Microsoft SDKs\Windows Phone\v7.1\Design“目录下的System.Windows.xaml文件。但这个文件有比较麻烦,而且那个文件里的代码又比较长,看起来很繁琐。可以使用一下代码来查看控件的可视化树结构:

 

/// <summary>
    /// 查看可视化树的结构
    /// </summary>
    /// <param name="parent">控件</param>
    /// <param name="indent">初始值设置为0</param>
    void DumpVisualTree(DependencyObject parent, int indent)
    {
        TextBlock txtblk = new TextBlock();
        // 模拟树层次结构显示结果.
        txtblk.Text = String.Format("{0}{1}", new string(' ', 4 * indent), parent.GetType().Name);

        // dumpTreeItemsControl是一个ItemsControl用于显示可视化树.
        dumpTreeItemsControl.Items.Add(txtblk);

        int numbChild = VisualTreeHelper.GetChildrenCount(parent);

        for (int childIndex = 0; childIndex < numbChild; childIndex++)
        {
            // 递归查找该控件的Child.
            DependencyObject child = VisualTreeHelper.GetChild(parent, childIndex);
            DumpVisualTree(child, indent + 1);
        }
    }

 

 

 




 




posted @ 2011-11-02 18:25  huangliangjie  阅读(130)  评论(0编辑  收藏  举报