Как стать автором
Обновить

Snoop — просмотр VisualTree WPF-приложений

Время на прочтение2 мин
Количество просмотров5.7K
Уже почти год пользую одну замечательную опенсорсную утилиту для отладки WPF-приложений.
Snoop (не самое информативное название для программы) позволяет посмотреть VisualTree WPF приложения.

Вообще возможностей у тулзы немного и рассказ будет коротким, но она просто незаменима при отладке. Позволяет не только понять где и какой Margin/Padding пагубно влияет на положение элемента, но и поможет разобраться с логикой построения элементов управления в wpf.

Главное окно программы
image

Окно лупы.
Открываем Snoop, выбираем из списка запущенных wpf-приложений нужное и жмём Magnify (кнопка лупой).
Открывается окошко с содержимым нашего приложения, его можно зумить, двигать… ну и т.д.
Есть 3d представление. по 3тей оси компоненты располагаются относительно своей позиции в дереве.
image

Окно свойств и событий
Закрываем окошко с зумом и жмём на копку Snoop this application (бинокль). И вот тут открывается совершенно замечательное окошко.

image

В левой части располагается дерево компонентов.
Если навести на элемент, то выскакивает его привьюшка.

Сверху комбобокс с фильтром дерева. Поиск по слову и поиск компонентов с ошибками биндинга.
В правой части показываются свойства и события выбранного элемента дерева.

Кнопка с многоговорящим названием и не менее информативной картинкой показывает/прячет дефолтовые свойства.
image
Интересные фичи:
  • выбранный элемент подсвечивается в самом wpf-приложении
  • выбрать нужный элемент можно прямо в wpf-приложении. Жмём Ctrl-Shift и водим мышкой по форме.
  • Если значение свойства меняется, то оно подсвечивается на несколько секунд желтым.
  • Серым подсвечиваются свойства с неустановленным значением.
  • По заявлению автора, значения свойств можно менять прямо из Snoop… но у меня ничего не менялось. (позже поковыряю исходники)


Свойства
Позволяет смотреть какие RoutedEvent`ы случились у выбранного элемента. можно выбрать из списка за каким событиями будем следить.
image

Итого:
Надо признать, утилита не особа удобная, недоделанная и за 1,5-2 года ничего нового в ней не появилось… но часто бывает просто незаменимой. :)
идёт она с исходниками на C# и C++, а значит можно будет написать собственную.

В общем, огромное спасибо Pete Blois. скачать можно тут.
Теги:
Хабы:
+9
Комментарии11

Публикации

Изменить настройки темы

Истории

Работа

.NET разработчик
72 вакансии

Ближайшие события