Редактировать содержимое текстового блока в списке C # (WPF Application) - PullRequest
0 голосов
/ 29 ноября 2018

Итак, у меня есть пять текстовых блоков, которые я добавил в список, и каждый должен получить свое собственное случайное число от одного до 6.

Я знаю, что я могу просто сделать новый int для каждоготекстовый блок (int randomNumberOne, randomNumberTwo, etc), но я пытаюсь понять, смогу ли я выяснить, как составить список и a для каждого цикла, чтобы он работал.

Есть ли способ отредактировать содержимое TextBox всписок как проходит?Если есть, я не нашел никакого способа сделать это.

Вот мой код.

List<TextBlock> randomBoxList = new List<TextBlock>();

        public MainWindow()
        {
            InitializeComponent();
            randomBoxList.Add(randomBoxOne);
            randomBoxList.Add(randomBoxTwo);
            randomBoxList.Add(randomBoxThree);
            randomBoxList.Add(randomBoxFour);
            randomBoxList.Add(randomBoxFive);
        }

    Random randomGenerator = new Random();
    int randomNumber;

    private void randomButton_Click(object sender, RoutedEventArgs e)
    {
        foreach (TextBlock textBlock in randomBoxList)
        {
            randomNumber = randomGenerator.Next(1, 7);
            //Code to change randomBox content goes here. 
        }
    }

1 Ответ

0 голосов
/ 29 ноября 2018

Если это WPF, вы можете просто использовать свойство textBlock.Text следующим образом:

 public partial class MainWindow : Window
{
    List<System.Windows.Controls.TextBlock> randomBoxList = new List<System.Windows.Controls.TextBlock>();

    public MainWindow()
    {
        InitializeComponent();
        randomBoxList.Add(randomBoxOne);
        randomBoxList.Add(randomBoxTwo);
        randomBoxList.Add(randomBoxThree);
        randomBoxList.Add(randomBoxFour);
        randomBoxList.Add(randomBoxFive);
    }

    Random randomGenerator = new Random();
    int randomNumber;

    private void randomButton_Click(object sender, RoutedEventArgs e)
    {
        foreach (System.Windows.Controls.TextBlock textBlock in randomBoxList)
        {
            randomNumber = randomGenerator.Next(1, 7);
            textBlock.Text = randomNumber.ToString();
        }
    }
}
...