windows phone 8.1 如何从动态添加的文本框中获取数据?

how to get data from dynamically added text boxes in windows phone 8.1?

我正在开发一个应用程序。在此我想从动态添加的文本框中获取数据。下面是我的代码

for (int i = 0; i < result.Count; i++)
    {

        TextBox TxtBoxU = new TextBox() { Width = 30 };

        TextBox TxtBoxE = new TextBox() { Width = 20 };

        RadioButton radioButton1 = new RadioButton();


        RadioButton radioButton2 = new RadioButton();

        TextBlock tb1 = new TextBlock();
        TextBlock tb2 = new TextBlock();
        TextBlock tb3 = new TextBlock();

        TxtBoxU.Name = "TextBoxU" + i.ToString();
        TxtBoxE.Name = "TextBoxE" + i.ToString();


        tb1.FontSize = 20;
        tb2.FontSize = 20;
        tb3.FontSize = 20;

        tb1.Name = "tb1" + i.ToString();
        tb2.Name = "tb2" + i.ToString();
        tb3.Name = "tb3" + i.ToString();

        tb1.Text = "name " + (i + 1).ToString() + " : ";
        tb2.Text = "Age : ";
        tb3.Text = "Gender : ";
        radioButton1.Content = "Male";
        radioButton1.GroupName = "Gender";
        radioButton2.Content = "Female";
        radioButton2.GroupName = "Gender";

        MyStackPanel.Children.Add(tb1);
        MyStackPanel.Children.Add(TxtBoxU);

        MyStackPanel.Children.Add(tb2);
        MyStackPanel.Children.Add(TxtBoxE);

        MyStackPanel.Children.Add(tb3);
        MyStackPanel.Children.Add(radioButton1);
        MyStackPanel.Children.Add(radioButton2);

    }

在上面的代码中我想从 TxtBoxU1 ,TxtBoxE1,TxtBoxU2,TxtBoxE2,......等等

如何从文本框中获取数据

提前致谢

这可以通过多种方式完成。

  1. 您可以使用 VisualTreeHelper 向下钻取。
  2. 您也可以尝试以下方法

    文本框 tb = MyStackPanel.Children[1] 作为文本框;

索引与您输入的顺序相同。

您可以遍历 MyStackPanel.Children,因为它是 regular collection (implements IEnumerable)。

        foreach (var child in MyStackPanel.Children)
        {
            if (!(child is TextBox))
            {
                continue;
            }
            var textbox = child as TextBox;
            if (textbox.Name == "TextBoxU1")
            {
                var text = textbox.Text; //whatever you want to do here
            }
        }

但是我建议您阅读有关 DataBinding and MVVM pattern 的内容。