[英]WPF - clear all textboxes in tabcontrol not working
我有一個帶有選項卡控件和每個選項卡中的幾個文本框的應用程序,當用戶這么說時,我希望窗口(稱為 MainWindow)中的每個文本框都被清除。 我使用了這里描述的方法,但它似乎只適用於它處於焦點的選項卡中的文本框。
嘗試這個:
void ClearTextBoxes(DependencyObject obj)
{
TextBox tb = obj as TextBox;
if (tb != null)
tb.Text = "";
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj as DependencyObject); i++)
ClearTextBoxes(VisualTreeHelper.GetChild(obj, i));
}
private void Button_Click(object sender, RoutedEventArgs e)
{
ClearTextBoxes(this);
}
嘗試用LogicalTreeHelper.GetChildren
替換對VisualTreeHelper.GetChildren
的LogicalTreeHelper.GetChildren
LogicalTreeHelper 獲取實際的可視化樹。 通常這不僅僅是邏輯樹,但在這種情況下,由於其他選項卡不可見 - 不會創建這些選項卡中的可視子樹。 不過,LogicalTree 應該仍然存在,所以應該可以工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.