簡體   English   中英

WPF - 清除 tabcontrol 中的所有文本框不起作用

[英]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.GetChildrenLogicalTreeHelper.GetChildren

LogicalTreeHelper 獲取實際的可視化樹。 通常這不僅僅是邏輯樹,但在這種情況下,由於其他選項卡不可見 - 不會創建這些選項卡中的可視子樹。 不過,LogicalTree 應該仍然存在,所以應該可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM