清除控件内的文本框
本文关键字:文本 控件 清除 | 更新日期: 2023-09-27 18:05:04
我有一系列的选项卡,其中包含文本框。有些选项卡也有一个控件,在滚动视图中包含文本框。我正在尝试遍历选项卡并清除文本框的内容。
我要用这个:
foreach(TabItem item in Tabs.Items)
{
ClearTextBoxes(this);
}
然后我用它来清除文本框:
TextBox tb = obj as TextBox;
if (tb != null)
tb.Text = "";
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
{
ClearTextBoxes(VisualTreeHelper.GetChild(obj, i));
}
当前只清除第一个选项卡,其余的都不清除。
任何想法?
使用LogicalTreeHelper。可视化树中只包含当前活动选项卡的项,因此可视化树帮助器不是任务的最佳选择。
迭代选项卡项在IMO上是不必要的,只有当你有很多其他控件不驻留在选项卡项,因此想要节省cpu功率。正如贝拉R已经提到的,有一个错误在你调用ClearTextBoxes()。
我认为应该是ClearTextBoxes(item)
而不是ClearTextBoxes(this)
foreach(TabItem item in Tabs.Items)
{
ClearTextBoxes(item);
}