循环遍历XAML定义的标签

use*_*524 6 .net c# wpf loops

我有一个带有许多标签的WPF应用程序.

<Label x:Name="label1" />
<Label x:Name="label2" />
<Label x:Name="label3" />
....
Run Code Online (Sandbox Code Playgroud)

我不希望逐个给每个标签一个值,如:

label1.content= 1;
label2.content= 20;
label3.content= 30;
....
Run Code Online (Sandbox Code Playgroud)

我想要更像这样:

for(int i = 1; i<40 ;i++)
{
    label"i".content = i*10;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

Kla*_*sen 6

如果您的标签都是一致的,那么您可以这样做:

var numberOfLabels = 40;

for(int i = 1; i <= numberOfLabels; i++)
{
    var labelName = string.Format("label{0}", i);
    var label = (Label) this.FindName(labelName);
    label.Content = i * 10;
}
Run Code Online (Sandbox Code Playgroud)