Перейти к содержимому

Фотография

Можно ли получить элемент System.Windows.Controls.TreeView по имени уз


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 10

#1 voronchihinav

voronchihinav

    Новый участник

  • Members
  • Pip
  • 6 сообщений
  • ФИО:Ворончихин Александр
  • Город:Ижевск

Отправлено 18 ноября 2011 - 09:07

TestComplete 8.60.665.7.
DelphiScript.

Есть WPF контрол System.Windows.Controls.TreeView. На нем есть иерархия объектов. Необходимо выделить нужный мне элемент в иерархии.
Пробовал выбирать, используя метод ClickItem('|Item1|Item1.1'). При выполнении пишет, что такого узла нет.

Если выбирать по индексам ClickItem('|[0]|[1]'), то все работает.
В документации написано, что должно работать и по именам и по индексам.

В дереве System.Windows.Forms.TreeView тоже самое нормально работает.

Кто-нибудь сталкивался с таким?
  • 0

#2 anagramma

anagramma

    Активный участник

  • Members
  • PipPip
  • 87 сообщений
  • Город:Moskow

Отправлено 18 ноября 2011 - 11:28

Возможно нужно сначало раскрыть все дерево?
  • 0

#3 Rebz

Rebz

    Опытный участник

  • Members
  • PipPipPipPip
  • 471 сообщений


Отправлено 18 ноября 2011 - 11:52

Ещё надо учесть, что разработчики могли переписать контрол до неузнаваемости :)
Можно и у них поинтересоваться как он работает.
  • 0

#4 voronchihinav

voronchihinav

    Новый участник

  • Members
  • Pip
  • 6 сообщений
  • ФИО:Ворончихин Александр
  • Город:Ижевск

Отправлено 18 ноября 2011 - 12:05

Возможно нужно сначало раскрыть все дерево?

Раскрывать пробовал. Даже корень не может выделить, так что явно дело не в распахнутости.
  • 0

#5 voronchihinav

voronchihinav

    Новый участник

  • Members
  • Pip
  • 6 сообщений
  • ФИО:Ворончихин Александр
  • Город:Ижевск

Отправлено 18 ноября 2011 - 12:12

Ещё надо учесть, что разработчики могли переписать контрол до неузнаваемости :)
Можно и у них поинтересоваться как он работает.


Да контроль не переделывался, используется стандартный контроль, который входит в dotNet. Может дело в том что для отображения узла используется ItemTemplate. Т.е. реально в узле не просто строка, а контроль TextBox, в который уже биндятся нужные данные.
  • 0

#6 modbear

modbear

    Специалист

  • Members
  • PipPipPipPipPip
  • 548 сообщений

Отправлено 18 ноября 2011 - 13:16


Ещё надо учесть, что разработчики могли переписать контрол до неузнаваемости :)
Можно и у них поинтересоваться как он работает.


Да контроль не переделывался, используется стандартный контроль, который входит в dotNet. Может дело в том что для отображения узла используется ItemTemplate. Т.е. реально в узле не просто строка, а контроль TextBox, в который уже биндятся нужные данные.

Попробуйте добавить класс дерева System.Windows.Controls.TreeView и класс text box'а в таблицы в проектных настройках > Open Applications > WPF.
  • 0

#7 Rebz

Rebz

    Опытный участник

  • Members
  • PipPipPipPip
  • 471 сообщений


Отправлено 18 ноября 2011 - 13:50



Ещё надо учесть, что разработчики могли переписать контрол до неузнаваемости :)
Можно и у них поинтересоваться как он работает.


Да контроль не переделывался, используется стандартный контроль, который входит в dotNet. Может дело в том что для отображения узла используется ItemTemplate. Т.е. реально в узле не просто строка, а контроль TextBox, в который уже биндятся нужные данные.

Попробуйте добавить класс дерева System.Windows.Controls.TreeView и класс text box'а в таблицы в проекнтых настройках > Open Applications > WPF.

О, классно, не пользовался никогда этой опцией. И что, ТестКомплит будет видеть TreeView и TextBox? А если там комбик, то можно в таблицу Open Applications > WPF добавить ComboBox ?
  • 0

#8 modbear

modbear

    Специалист

  • Members
  • PipPipPipPipPip
  • 548 сообщений

Отправлено 18 ноября 2011 - 14:54




Ещё надо учесть, что разработчики могли переписать контрол до неузнаваемости :)
Можно и у них поинтересоваться как он работает.


Да контроль не переделывался, используется стандартный контроль, который входит в dotNet. Может дело в том что для отображения узла используется ItemTemplate. Т.е. реально в узле не просто строка, а контроль TextBox, в который уже биндятся нужные данные.

Попробуйте добавить класс дерева System.Windows.Controls.TreeView и класс text box'а в таблицы в проекнтых настройках > Open Applications > WPF.

О, классно, не пользовался никогда этой опцией. И что, ТестКомплит будет видеть TreeView и TextBox? А если там комбик, то можно в таблицу Open Applications > WPF добавить ComboBox ?

Не знаю, мне этой опцией тоже пока не приходилось пользоваться. :) Просто по названию и описанию опций предположила, что это то, что надо.
  • 0

#9 voronchihinav

voronchihinav

    Новый участник

  • Members
  • Pip
  • 6 сообщений
  • ФИО:Ворончихин Александр
  • Город:Ижевск

Отправлено 21 ноября 2011 - 10:30



Ещё надо учесть, что разработчики могли переписать контрол до неузнаваемости :)
Можно и у них поинтересоваться как он работает.


Да контроль не переделывался, используется стандартный контроль, который входит в dotNet. Может дело в том что для отображения узла используется ItemTemplate. Т.е. реально в узле не просто строка, а контроль TextBox, в который уже биндятся нужные данные.

Попробуйте добавить класс дерева System.Windows.Controls.TreeView и класс text box'а в таблицы в проекнтых настройках > Open Applications > WPF.

Добавил, не помогло. (((
В итоге сделал так. Через свойство Items нахожу индекс нужного элемента и далее выбираю элемент в дереве по индексу. Но этот способ подходит только для конкретного места, так как идет привязка к конкретным свойствам объектов, в которых лежит отображаемое значение.
  • 0

#10 XXX

XXX

    Опытный участник

  • Members
  • PipPipPipPip
  • 284 сообщений
  • ФИО:Денис Викторович
  • Город:Санкт-Петербург


Отправлено 22 ноября 2011 - 09:32

TestComplete 8.60.665.7.
DelphiScript.

Есть WPF контрол System.Windows.Controls.TreeView. На нем есть иерархия объектов. Необходимо выделить нужный мне элемент в иерархии.
Пробовал выбирать, используя метод ClickItem('|Item1|Item1.1'). При выполнении пишет, что такого узла нет.

Если выбирать по индексам ClickItem('|[0]|[1]'), то все работает.
В документации написано, что должно работать и по именам и по индексам.

В дереве System.Windows.Forms.TreeView тоже самое нормально работает.

Кто-нибудь сталкивался с таким?



Можешь скрин дерева показать с выделенным элементом который хочешь выделить?
  • 0

#11 voronchihinav

voronchihinav

    Новый участник

  • Members
  • Pip
  • 6 сообщений
  • ФИО:Ворончихин Александр
  • Город:Ижевск

Отправлено 28 ноября 2011 - 07:10

Вот скрин дереваПрикрепленный файл  TreeView.PNG   5,49К   11 Количество загрузок:
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных