Child Parent UserControl WPF 中的 UserControl TextBox 值

Child UserControl TextBox value in Parent UserControl WPF

我有一个 parent UserControl 有一个 Button。在 button_click 上 child UserControl 添加到 Parent UserControl。新添加的 Child UserControl 有一个 TextBox.
现在,Parent UserControl 在单击时有另一个 Button 我想获得 child UserControlTextBox 的值。我怎样才能得到它?

另外,假设在 RunTime 上添加的 child UserControl 多于 1。那么我怎样才能获得所有这些 child UserControls 的 TextBox 值?

编辑和更新!
Child UserControl有这个方法

    public string GetText()
    {
        return ProductNameBox.Text;
    }  

Parent 用户控件有这个

    public List<UserControl> UserControlList = new List<UserControl>();

    public void NewProductModule(object sender, RoutedEventArgs e)
    {
            AddProductModule productModules = new AddProductModule();                
            UserControlList.Add(productModules);
    }  

还有这个方法

    private void PreviewPdfFunc(object sender, MouseButtonEventArgs e)
    {
        foreach (UserControl cnt in UserControlList)
        {
            MessageBox.Show(cnt +" Total = " + StackPanelContainer.Children.Count);
        }
    }

首先,将您创建的每个 AddProductModule 添加到列表中(因为您必须将它们存储在某处)

List<AddProductModule> AllControls = new List<AddProductModule>();
AllControls.Add(YourItem);

其次,您有两种获取文本的选项

首先:将按钮设置为public

其次:创建一个 public 方法,您可以从您的父级调用该方法,例如

public string GetTBText()
{
    return TextBoxExample.Text;
}

最后,要获取所有文本,您可以

foreach(AddProductModule item in AllControls)
{
    string ValueOfTB = item.GetTBText();
}

编辑

问题是使用了错误的对象类型,这导致我的回答出现问题。以前,类型不是 AddProductModule,而是 UserControl,在此之前它是 var(这是开始的主要问题)

如果你来到这里,你现在应该能够 运行 我的答案中的代码没有问题