0

XAML に次のコードがありますが、これらのラベルをプログラムで作成したいと考えています。

<Label Content="" Name="Dice1" HorizontalAlignment="Left" Margin="19,11,0,0" VerticalAlignment="Top" Grid.Column="0"/>
<Label Content="" Name="Dice2" HorizontalAlignment="Left" Margin="19,11,0,0" VerticalAlignment="Top" Grid.Column="1"/>
<Label Content="" Name="Dice3" HorizontalAlignment="Left" Margin="19,11,0,0" VerticalAlignment="Top" Grid.Column="2"/>
<Label Content="" Name="Dice4" HorizontalAlignment="Left" Margin="19,11,0,0" VerticalAlignment="Top" Grid.Column="3"/>
<Label Content="" Name="Dice5" HorizontalAlignment="Left" Margin="19,10,0,0" VerticalAlignment="Top" Grid.Row="1"/>
<Label Content="" Name="Dice6" HorizontalAlignment="Left" Margin="19,10,0,0" VerticalAlignment="Top" Grid.Row="1" Grid.Column="1"/>
<Label Content="" Name="Dice7" HorizontalAlignment="Left" Margin="19,10,0,0" VerticalAlignment="Top" Grid.Row="1" Grid.Column="2"/>
<Label Content="" Name="Dice8" HorizontalAlignment="Left" Margin="19,10,0,0" VerticalAlignment="Top" Grid.Row="1" Grid.Column="3"/>

これを行う最善の方法は、for ループにあると思いますか?? 同じ行の最初の 4 つのサイコロと列 +1 が必要です。2 番目の行と列の最後の 4 つのサイコロ +1。Dice1、Dice2、Dice3 などの名前を使用しているのは、後で各ラベルにランダムな整数を付けたいからです。誰にもアイデアがありますか?

for (int i = 0; i < 8; i++)
{
    Label Dice = new Label();
}
4

2 に答える 2

1

各ラベルのプロパティを入力し、それを親コントロールに追加します。以下の例では、 というキャンバスを使用していると想定していますmyCanvas

for (int i = 0; i < 8; i++)
{
    Label Dice = new Label();
    Dice.Name = "Dice" + (i + 1).ToString();
    Dice.HorizontalAlignment = HorizontalAlignment.Left;
    //fill the rest of the properties
    //...
    //you need to add the label to your parent control
    myCanvas.Children.Add(Dice); 
}
于 2012-11-05T13:49:54.297 に答える
0

これで始められるかもしれません。

Label[] labels = new Label[8];
for(int i = 0; i < 8; i++)
{
    labels[i] = new Label();
    labels[i].Text = new Random().NextInt(1, 8);
    labels[i].DoOtherStuff();
    parent.Controls.Add(labels[i]);
}
于 2012-11-05T13:51:48.710 に答える