1
在页面上,我将UserControl动态添加到GridView中。因此,每个UserControl可以包含不同类型的控件(TextBox,CheckBox,Radio Button)如何将UserControl中的所有文本框添加到GridView中
说,UserControl的名称是:UserForm。
问题: 如何使用VisualTreeHelper获取控件的集合并检查textBox是否为空。
我发现了一个类似于这个问题的代码,并修改它但不工作。
我不知道这是什么意思,如果这是必需的?
list.AddRange(AllTextBoxes(子))
我应该使用MyList.Select()或MyList.Where()?
void FindTextBoxes() { List <TextBox> MyList = AllTextBoxes(UserForm); var count = MyList.Where(x= > if(string.IsEmptyOrNull(x.Text)); } List <TextBox> AllTextBoxes(DependencyObject parent) { var list = new List <TextBox>(); for (int i = 0; i < VisualTreeHelper.GetChildrenCount(parent); i++) { var child = VisualTreeHelper.GetChild(parent, i); if (child is TextBox) list.Add(child as TextBox); list.AddRange(AllTextBoxes(child)); } return list; }
为什么不在你的usercontrol中实现验证? – MatDev8 2014-12-09 09:54:39