C# 使用变量访问文本字段名称(动态)
我目前正在开发一个WindowsPhone7应用程序 我至少有9个名为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>
“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