Как мне найти расположение элемента wpf в окне - PullRequest
1 голос
/ 02 февраля 2011

Мне нужно найти местоположение элемента WPF в окне приложения, чтобы я мог нарисовать прямоугольник вокруг определенного элемента на снимке экрана / снимка окна, содержащего этот элемент.

Это для VS Coded UI Framework, который я разрабатываю, у которого есть захваты окна или элемент захвата к изображению, когда происходит ошибка. Я хочу объединить эти два и сделать захват окна, который показывает красный прямоугольник вокруг элемента по ошибке.

На многих форумах есть ответы на этот вопрос, но они относятся к TranslatePoint . Я не вижу этого при работе с Visual Studio и пользовательским интерфейсом UTesting с кодированным пользовательским интерфейсом WpfControls. Кто-нибудь знает, как обойти это ??

Ответы [ 2 ]

0 голосов
/ 05 октября 2012

Никогда не используйте координаты. Вместо этого получите контроль и используйте метод DrawHighlight(). Это нарисует синий прямоугольник вне элемента управления.

0 голосов
/ 02 февраля 2011

TranslatePoint определено на UIElement.Любой UIElement должен раскрыть это.

Я подозреваю, что проблема в том, что WpfControl не является WPF UIElement.Вы должны иметь возможность использовать его свойство BoundedRectangle , чтобы получить правильный окружающий прямоугольник вместо TranslatePoint для UIElement.

...