У меня есть страница WPF с оберткой, одна кнопка для создания текстовых полей в обертке с текстом в них и одна кнопка, чтобы получить текст, который был записан в текстовые поля. Ее часть xaml:
<StackPanel>
<WrapPanel Orientation="Horizontal" x:Name="WP1"
Height="200"/>
<Button Content="Insert" Click="Button_Click" Margin="10"/>
<Button Content="Get_TextBoxes_Text" x:Name="GetTextBoxes_Txt_btn"
Click="GetTextBoxes_Txt_btn_Click" Margin="10"/>
</StackPanel>
Теперь, когда каждый раз, когда я нажимаю первую кнопку, он создает текстовое поле в обертке с текстом. Допустим, я нажал на кнопку 3 раза (но это может быть 1, 2 или 10 ...) на кнопке.
private void Button_Click(object sender, RoutedEventArgs e)
{
TextBox t = new TextBox()
{
Text = "100",
Padding = new Thickness(3),
BorderBrush = Brushes.Black
};
WP1.Children.Add(t);
// Let's imagine i've clicked 3 times on this button to create 3 textboxes. But the user will be able to click from 1 to 10 times, we don't know at this point.
}
Теперь, когда я нажимаю на вторую кнопку, я хочу заключить в строка каждого текста текстового поля, которое мы создали, как:
private void GetTextBoxes_Txt_btn_Click(object sender, RoutedEventArgs e)
{
// How to get into a string the content of the 3 textboxes like :
string text = first_TextBox.Text + secondTextBox.Text + thirdTextBox.Text //????
}
Но, конечно, это не работает, потому что текстовые поля, которые я создал, не имеют "настоящего" имени. Как я могу справиться с этим? Спасибо за помощь.