Самый простой способ поиска по вертикали и по горизонтали в визуальном дереве?Элемент поиска WPF с помощью VisualTreeHelper по вертикали и горизонтали
Например, я хочу найти элемент управления, которого нет в списке родителей из элемента управления, который запускает поиск.
Вот простой пример (каждый блок представляет некоторый контроль пользовательского интерфейса):
Например я начинаю во вложенном управлении (Search-Start) и хочу найти другой вложенный контроль (Должно быть найдено).
Каков наилучший способ для этого? Разбор полного визуального дерева кажется не очень эффективным ... Спасибо!
Что вы имеете в виду с эффективными? Не работает или не самый эффективный способ? Предполагая, что у вас нет знаний о дереве и нет имени элемента для поиска, обход (возможно) всего дерева является единственным, чтобы найти то, что вам нужно. –
Я имею в виду как можно быстрее :) У меня есть только информация, что элемент управления должен быть очень близок к элементу * root *, подобному окну. Элемент управления, который мне нравится искать, - это «RadRibbonView». – BendEg
Возможно, [ширина] сначала (https://en.wikipedia.org/wiki/Breadth-first_search) может быть более эффективным, чем пройденное вами дерево. –