用于填充文本块的循环

For loop to Populate Textblocks

我想在一个应用程序中填充 40 个文本块,它们的名称都略有不同,但通常以不同的数字结尾。

我想使用:

for(int i = 1; i < 41; i++)
{
    textblock_(i).text = array[i].ToString();
}

可以这样做吗?

谢谢

如果您使用的是 Windows 表单 (WinForms),则: Control.ControlCollection.Find

示例:

TextBox currentTextBox = this.Controls.Find("textBox1" + i.ToString(), true).FirstOrDefault() as  TextBox;
currentTextBox.Text = array[i].ToString();

或者在 WPF 中:How can I find WPF controls by name or type? CrimsonX 的回答

在 WPF 中,您可以使用 FindName 方法。

首先,我们通过FindName(Control's x:Name)得到一个对象。然后将其转换为您的控件类型。就像这样:

for (int i = 1; i < 41; i++)
{
    TextBlock tb = (this.FindName(string.Format("textblock_{0}", i)) as TextBlock);
    tb.Text = array[i].ToString();
}