WPF获取窗口所有TextBox,批量设置禁用

Posted 棉晗榜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF获取窗口所有TextBox,批量设置禁用相关的知识,希望对你有一定的参考价值。

  private void Button_Click_2(object sender, RoutedEventArgs e)
   
        	//获取当前窗口所有控件
            var grid = (DependencyObject)this.Content;
            List<DependencyObject> list = new List<DependencyObject>();
            Action<DependencyObject> action = null;
            action = (a) =>
            
                var count = VisualTreeHelper.GetChildrenCount(a);
                for (int i = 0; i < count; i++)
                
                    var elem = VisualTreeHelper.GetChild(a, i);
                    list.Add(elem);
                    action(elem);
                
            ;

            action(grid);

			//遍历控件,设置相关属性
            foreach (var item in list)
            
                if (item is TextBox)
                
                    (item as TextBox).IsEnabled = false; //批量设置输入框禁用
                
                else if (item is ComboBox)
                
                    (item as ComboBox).IsEnabled = false;
                
                        
 
        

参考博文:
https://blog.csdn.net/Monkey_King_GL/article/details/126050612

以上是关于WPF获取窗口所有TextBox,批量设置禁用的主要内容,如果未能解决你的问题,请参考以下文章

将 ErrorTemplate 添加到 WPF 用户控件会禁用 TextBox 输入

WPF窗口默认TextBox焦点

WPF 禁用TextBox的触摸后自动弹出虚拟键盘

WPF 禁用TextBox的触摸后自动弹出虚拟键盘

根据WPF中的TextBox Text属性启用/禁用按钮?

在 WPF 窗口中禁用除一个子控件之外的所有子控件