Wpf foreach语句不能对类型为';System.Windows.Controls.GroupBox';
foreach语句无法对类型为的变量进行操作 “System.Windows.Controls.GroupBox”因为 “System.Windows.Controls.GroupBox”不包含公共 “GetEnumerator”的定义 霉菌代码:Wpf foreach语句不能对类型为';System.Windows.Controls.GroupBox';,wpf,c#-4.0,foreach,Wpf,C# 4.0,Foreach,foreach语句无法对类型为的变量进行操作 “System.Windows.Controls.GroupBox”因为 “System.Windows.Controls.GroupBox”不包含公共 “GetEnumerator”的定义 霉菌代码: foreach (var txt in this.groupBox1.Children) { if (txt is TextBox) { (txt
foreach (var txt in this.groupBox1.Children)
{
if (txt is TextBox)
{
(txt as TextBox).Text = string.Empty;
}
}
但是为什么网格的代码是正确的呢
foreach (var txt in this.MyGrid.Children)
{
if (txt is TextBox)
{
(txt as TextBox).Text = string.Empty;
}
}
groupBox的正确代码是什么
/////////////////编辑
正确的代码:
您的第一个代码片段甚至不会编译(假设
groupBox1
确实是GroupBox
),因为GroupBox
没有子属性
GroupBox
只能包含一个子项,由其Content
属性表示
如果需要迭代GroupBox
的所有可视子对象,则可以使用visualtreeheloper
类。大概是这样的:
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(groupBox1); i++)
{
var txt = VisualTreeHelper.GetChild(groupBox1, i);
if (txt is TextBox) ...
}
foreach (var txt in groupBox1.GetVisualChildren<TextBox>())
{
txt.Text = String.Empty;
}
您可以这样使用:
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(groupBox1); i++)
{
var txt = VisualTreeHelper.GetChild(groupBox1, i);
if (txt is TextBox) ...
}
foreach (var txt in groupBox1.GetVisualChildren<TextBox>())
{
txt.Text = String.Empty;
}
foreach(groupBox1.GetVisualChildren()中的var txt)
{
txt.Text=String.Empty;
}
您的第一个代码片段甚至不会编译(假设groupBox1
确实是GroupBox
),因为GroupBox
没有子属性
GroupBox
只能包含一个子项,由其Content
属性表示
如果需要迭代GroupBox
的所有可视子对象,则可以使用visualtreeheloper
类。大概是这样的:
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(groupBox1); i++)
{
var txt = VisualTreeHelper.GetChild(groupBox1, i);
if (txt is TextBox) ...
}
foreach (var txt in groupBox1.GetVisualChildren<TextBox>())
{
txt.Text = String.Empty;
}
您可以这样使用:
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(groupBox1); i++)
{
var txt = VisualTreeHelper.GetChild(groupBox1, i);
if (txt is TextBox) ...
}
foreach (var txt in groupBox1.GetVisualChildren<TextBox>())
{
txt.Text = String.Empty;
}
foreach(groupBox1.GetVisualChildren()中的var txt)
{
txt.Text=String.Empty;
}
not work:for(int i=0;i