我有一个用户填写的XAML输入表单.
我想验证这个表单.
我有一个集合中的字段信息,我想循环并检查每个字段.
但是如何在字符串中访问字段的名称,例如,当fieldInformation.FieldName ="CompanyName"时,我想检查"Field_CompanyName.Text".
伪代码:
foreach (var fieldInformation in _fieldInformations) { if (Field_{&fieldInformation.FieldName}.Text.Length > 2) { ErrorMessage.Text = String.Format("The length of {0} is too long, please correct.", fieldInformation.FieldName); entryIsValid = false; } }
XAML:
代码隐藏:
_fieldInformations.Add(new FieldInformation { FieldName = "CustomerID", FieldSize = 5 }); _fieldInformations.Add(new FieldInformation { FieldName = "CompanyName", FieldSize = 40 }); _fieldInformations.Add(new FieldInformation { FieldName = "ContactName", FieldSize = 30 });
sipwiz.. 43
这不仅仅是代码隐藏文件中的FindName调用,还是我错过了什么?
TextBox fieldTB = (TextBox)this.FindName("Field_CompanyName");
Denis Vuyka.. 6
此外,如果您愿意从代码中添加UI元素,则必须使用RegisterName("Field_CompanyName", some_instance)
方法调用FindName
,默认情况下仅对XAML中声明的元素使用.
这不仅仅是代码隐藏文件中的FindName调用,还是我错过了什么?
TextBox fieldTB = (TextBox)this.FindName("Field_CompanyName");
此外,如果您愿意从代码中添加UI元素,则必须使用RegisterName("Field_CompanyName", some_instance)
方法调用FindName
,默认情况下仅对XAML中声明的元素使用.