C# 遍历文本框以检查WPF是否为空
我试图遍历WPF窗口中的所有文本框,查看它们是否为空,如果为空,该方法应将bool设置为trueC# 遍历文本框以检查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) {
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))