2

WPF での変数名のループについて具体的な質問があります。

XAML コードは次のようになります。

<Grid>
    <Button name="button1" Visibility="Collapsed" />
    <Button name="button2" Visibility="Collapsed" />
    <Button name="button3" Visibility="Collapsed" />
    <Button name="button4" Visibility="Collapsed" />
</Grid>

次のような数値の for ループとして、変数名をループすることが可能かどうか疑問に思います。

private DateTime time = DateTime.Now;
private CultureInfo ci = new CultureInfo("en-GB");
for(int i = 0; i <= 4; i++)
{
    /* (*Plus i*): A example as what I want/like to do */
    string Year = String.Format(ci, "{0:yyyy}", Time.addDays(i-1));
    button(*Plus i*).Visibility = Visibility.Visible;
    button(*Plus i*).Name = Year;
}

特定の変数に到達するために数値を追加することさえ可能ですか? 私を助けてください、どんな反応でもありがとう..

4

2 に答える 2

5

そのグリッド内のボタンを反復処理する場合は、名前をグリッドに割り当てることができます ( buttonsGrid など)。Children プロパティを反復処理できるよりも

foreach (var childButton in buttonsGrid.Children.OfType<Button>())
// do smth
于 2012-06-14T14:10:50.797 に答える
3

実行時に生成された名前で変数にアクセスすることはできません。


ただし、実行時に生成された名前で制御にアクセスできます。

TextBox textbox = grid.FindName("button" + i) as TextBox;
于 2012-06-14T14:07:31.947 に答える