![](/img/trans.png)
[英]changing text in parent UserControl from Child UserControl WPF
[英]Child UserControl TextBox value in Parent UserControl WPF
我有一個具有Button
的父UserControl
。 在button_click
,子UserControl
被添加到Parent UserControl
。 新添加的Child UserControl
具有TextBox
。
現在,父級UserControl
單擊另一個Button
時,我想獲取子級UserControl
的TextBox
的值。 我該怎么辦?
另外,假設運行時添加的子UserControl
大於1。那么如何獲得所有這些子UserControls的TextBox
值?
編輯和更新!
子UserControl具有此方法
public string GetText()
{
return ProductNameBox.Text;
}
父UserControl擁有此
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 string GetTBText()
{
return TextBoxExample.Text;
}
最后,要獲取所有文本,您可以
foreach(AddProductModule item in AllControls)
{
string ValueOfTB = item.GetTBText();
}
編輯
有一個問題,就是使用了錯誤的對象類型,這使我的回答出現了問題。 以前,該類型不是AddProductModule,而是UserControl,而在此之前是var(這是開頭的主要問題)
如果您來到這里,您現在應該可以毫無問題地運行我的答案中的代碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.