WPF:如何遍历窗口中的所有控件?

WPF:如何遍历窗口中的所有控件?,第1张

WPF:如何遍历窗口中的所有控件

类以获取控件的所有子组件的列表:

class Utility    {        private static StringBuilder sbListControls;        public static StringBuilder GetVisualTreeInfo(Visual element)        { if (element == null) {     throw new ArgumentNullException(String.Format("Element {0} is null !", element.ToString())); } sbListControls = new StringBuilder(); GetControlsList(element, 0); return sbListControls;        }        private static void GetControlsList(Visual control, int level)        { const int indent = 4; int ChildNumber = VisualTreeHelper.GetChildrenCount(control); for (int i = 0; i <= ChildNumber - 1; i++) {     Visual v = (Visual)VisualTreeHelper.GetChild(control, i);     sbListControls.Append(new string(' ', level * indent));     sbListControls.Append(v.GetType());     sbListControls.Append(Environment.newline);     if (VisualTreeHelper.GetChildrenCount(v) > 0)     {         GetControlsList(v, level + 1);     } }        }    }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5044988.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存