Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 遍历文本框以检查WPF是否为空_C#_Wpf_Textbox - Fatal编程技术网

C# 遍历文本框以检查WPF是否为空

C# 遍历文本框以检查WPF是否为空,c#,wpf,textbox,C#,Wpf,Textbox,我试图遍历WPF窗口中的所有文本框,查看它们是否为空,如果为空,该方法应将bool设置为true private void checkTextBoxes(DependencyObject obj) { for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++) { if (obj is TextBox && ((TextBox)obj).Text == null) {

我试图遍历WPF窗口中的所有文本框,查看它们是否为空,如果为空,该方法应将bool设置为true

private void checkTextBoxes(DependencyObject obj)
{
   for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
   {
      if (obj is TextBox && ((TextBox)obj).Text == null)
      {
         isTextBoxEmpty = true;
      }
   }
}

但是不管我做什么,bool总是返回false,即使所有文本框都是空的

除了任何语法错误之外,这应该会给您预期的结果;只有当所有文本框都为空时,才会返回true

private void checkTextBoxes(DependencyObject obj)
{
     var trueforall = true;
     var atleastone = false;
     for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
     {
         if (obj is TextBox)
         {
             if(!atleastone){ atleastone = true;}
             trueforall &= string.IsNullOrWhiteSpace(((TextBox)obj).Text);
             if (!trueforall) { break; }
         }
     }
     isTextBoxEmpty = trueforall && atleastone;
}
专用无效复选框(DependencyObject obj)
{
var trueforall=true;
var Atlestone=假;
for(int i=0;i
尝试更改此选项:

((TextBox)obj).Text == null)
为此:

(String.IsNullOrEmpty((TextBox)obj).Text))

您得到的结果可能是,因为
文本框的文本
从来都不是空的,默认情况下它是空字符串(
“”
),这就是我的想法,如果您为了验证而这样做,那么有更好的方法来实现。看一看。
(String.IsNullOrEmpty((TextBox)obj).Text))