我不知道如何在for循环中调用几个类似名称的WPF TextBlock。
在WPF中,我有几个TextBlocks分别位于网格单元内:
<TextBlock Name="Banner0" />
<TextBlock Name="Banner1" />
<TextBlock Name="Banner2" />
例如,这三个在Grid.Row =“ 0” Grid.Column =“ 0”,Grid.Row =“ 0” Grid.Column =“ 1”,Grid.Row =“ 0” Grid.Column =分别为“ 2”。
在C#中,我可以使用以下代码更改上述TextBlocks中的文本:
Banner0.Text = "Sample Text";
Banner1.Text = "Sample Text";
Banner2.Text = "Sample Text";
但是我想做什么,但是不知道该怎么做就是用这种方式更改它。
for (int i = 0; i < 3; i++)
{
Banneri.Text = "Sample Text";
}
我理解为什么我不能做Banneri,但是却不知道如何在for循环中实现这个概念。
每个TextBlock中的文本也不相同,但是为简单起见,我在所有三个文本块中均使用了“示例文本”,因为这不是造成麻烦的区域。
答案 0 :(得分:1)
最简单的方法是将它们放入数组中。
// put them together
TextBlock[] banners = new [] {Banner0, Banner1, Banner2};
// iterate like this
for(var i = 0; i < banners.Length; i++){
banners[i].Text = "Sample Text";
}