Очистка текстовых полей внутри элемента управления - PullRequest
0 голосов
/ 08 августа 2011

У меня есть ряд вкладок, которые содержат текстовые поля в них.Некоторые из вкладок имеют элемент управления, который также содержит текстовые поля внутри Scrollview.Я пытаюсь перебрать вкладки и очистить содержимое текстовых полей.

Я собирался использовать это:

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));
}

В настоящее время очищается только первая вкладка, а остальные нет.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 08 августа 2011

Используйте LogicalTreeHelper .Только элементы текущей активной вкладки содержатся в визуальном дереве, поэтому помощник по визуальному дереву не лучший выбор для вашей задачи.

Перебор элементов вкладки IMO не требуется, только если у вас естьМногие другие элементы управления не находятся в элементах табуляции и поэтому хотят сэкономить ресурсы процессора.Как уже упоминалось Bela R, в вашем вызове ClearTextBoxes () произошла ошибка.

0 голосов
/ 08 августа 2011

Я думаю, это должно быть ClearTextBoxes(item), а не ClearTextBoxes(this)

foreach(TabItem item in Tabs.Items)
{
    ClearTextBoxes(item);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...