我目前正在开发Windows Phone 7应用程序
我至少有9个文字字段,名称为"TEXTFIELD_ID_1" , "TEXTFIELD_ID_2"
等...
会有更多。
我想通过循环访问每个字段:
if (currentpage == 1)
{
for (int i = 1; i<10; i++)
{
string[] beitrag = result.Split(new string[] { "<split_inner>" }, StringSplitOptions.None);
profile_img_1.Source = (ImageSource)new ImageSourceConverter().ConvertFromString("EXAMPLE.jpg);
}
}
如您所见,我使用直接方式(1)访问Image 1。 如何使用变量“i”访问图像/文本域?
THX
答案 0 :(得分:2)
如果名称是常规的,那么只需使用:
string name = "TEXTFIELD_ID_" + i;
this.Controls[name].Text = "bla bla bla...";
关键点是ControlCollection
。 this
是指Form
。您可以使用name
或index
访问表单控件。
编辑:在WP7中,您必须拥有类似Grid
的容器。例如,如果您有一个名为LayoutRoot
的网格控件,则可以使用Children
属性访问您的元素。如果您希望循环浏览TextBox,则可以使用OfType
扩展方法:
var elements = LayoutRoot.Children;
foreach (var element in elements.OfType<TextBox>())
{
var currentTextBox = element as TextBox;
...
}
答案 1 :(得分:0)
您可以在循环中使用FindControl方法:
if (currentpage == 1)
{
for(int i = 1; i<10; i++)
{
string[] beitrag = result.Split(new string[] { "<split_inner>" }, StringSplitOptions.None);
Control imgControl = FindControl(string.Format("profile_img_{0}", i));
imgControl.Source = (ImageSource)new ImageSourceConverter()
.ConvertFromString("EXAMPLE.jpg);
}
}