powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / UI Automation Peer
3 сообщений из 3, страница 1 из 1
UI Automation Peer
    #38793156
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
где можно найти нормальное описание этой технологии? на MSDN всё в кучу, нефига не понятно даже на русском языке. Охота где то более или менее живой пример с разъяснениями, что и почему сделано через автоматизацию.
Вопрос возник по причине того, что стал копаться в коде всяких MS стандартных контролов и увидел, что это многий функционал (поведение) контролов работает именно через AutomationPeer.
Буду благодарен, если ссылки накидаете, в Гугле поискал, хороший статей не нашел, только вопросики на всяких всем известных сайтов. Но
...
Рейтинг: 0 / 0
UI Automation Peer
    #38797056
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,

жаль, что тут нет тех, кто понимает :(
...
Рейтинг: 0 / 0
UI Automation Peer
    #38797118
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesгде можно найти нормальное описание этой технологии? на MSDN всё в кучу, нефига не понятно даже на русском языке.
Да нормально там всё изложено - если вы не справку по API читали. Я начинал вот с этого:
http://msdn.microsoft.com/en-us/library/windows/desktop/ee684009(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/ms753107(v=vs.110).aspx
Коротенький пример использования есть здесь:
http://www.codeproject.com/Articles/33049/WPF-UI-Automation
По моему скромному, не стоит ждать от этой технологии чего-то такого, что её сделает серебряной пулей - у неё достаточно узкая область применения. Я в свое время её как-то использовал, чтобы залезть в содержимое SysListView32, который находится внутри WebBrowser, когда тому скормили URL файловой системы, и напрямую недоступен.
Как-то так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
var listView = AutomationElement.FromHandle(listViewHwnd);
var walker = TreeWalker.ContentViewWalker;
for (var child = walker.GetFirstChild(listView);
    child != null;
    child = walker.GetNextSibling(child))
{
  if (!(bool)child.GetCurrentPropertyValue(SelectionItemPatternIdentifiers.IsSelectedProperty))
    continue;
  Console.WriteLine(child.Current.Name);
}
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / UI Automation Peer
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]