C# 使用变量访问文本字段名称(动态)

C# 使用变量访问文本字段名称(动态),c#,dynamic,textfield,C#,Dynamic,Textfield,我目前正在开发一个WindowsPhone7应用程序 我至少有9个名为“TEXTFIELD\u ID\u 1”、“TEXTFIELD\u ID\u 2”等的文本字段。。。 还会有更多 我想通过循环访问这些字段中的每一个: if (currentpage == 1) { for (int i = 1; i<10; i++) { string[] beitrag = result.Split(new string[] { "<split_inner>

我目前正在开发一个WindowsPhone7应用程序

我至少有9个名为
“TEXTFIELD\u ID\u 1”、“TEXTFIELD\u ID\u 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);               
    }
}
if(当前页面==1)
{

对于(int i=1;i如果名称是这样的规则名称,则只需使用:

string name = "TEXTFIELD_ID_" + i;
this.Controls[name].Text = "bla bla bla...";
关键点是
ControlCollection
引用您的
表单
。您可以使用其
名称或
索引访问表单控件

编辑:在WP7中,必须有一个类似于
网格的容器。例如,如果您有一个名为
LayoutRoot
的网格控件,则可以使用
子属性访问元素。如果您想在文本框中循环,可以使用
of type
扩展方法:

var elements = LayoutRoot.Children;

foreach (var element in elements.OfType<TextBox>())
{
     var currentTextBox = element as TextBox;
     ...
}
var元素=LayoutRoot.Children;
foreach(elements.OfType()中的var元素)
{
var currentTextBox=作为文本框的元素;
...
}
您可以在循环中使用方法:

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);
    }
}
if(当前页面==1)
{

for(int i=1;iI)从标题中删除了“C#”,因为它也是一个标记。有关这方面的信息,请参阅“”!我认为这是可行的,但我得到的信息是“控件”没有定义-我对wp7很陌生-你能帮我吗?这不是winForms吗?你把代码放在哪里了?@FrankProvost我明白。但我对wp7没有经验:(对不起,我帮不了你。@FrankProvost我已经更新了我的答案,这可能会有帮助。我没有得到错误,但是,我没有得到结果。^^->for循环没有启动,我忘了提到它是windowsphone 7