2011-02-02 56 views
1

我需要能够在应用程序窗口中找到WPF元素的位置,以便我可以在屏幕截图/图像捕获的特定元素周围绘制矩形包含这个元素的窗口。如何在窗口中找到wpf元素的位置

这是一个VS Coded UI框架,我正在开发的窗口捕获或元素捕获图像发生错误时。我想结合这两个,并有一个窗口捕获,显示错误元素周围的红色矩形。

很多论坛都有这方面的答案,但他们指的是TranslatePoint。使用Visual Studio和Microsofts UITesting编码的UI WpfControls时,我看不到这一点。任何人都知道如何解决这个问题?

回答

0

TranslatePointUIElement上定义。任何UIElement都应该公开这一点。

我怀疑问题是WpfControl不是WPF UIElement。您应该可以使用它的BoundedRectangle属性来获取正确的周围矩形,而不是UIElement上的TranslatePoint。

+0

谢谢你的里德。所以我玩了一下,发现了BoundedRectangle - Location返回的是整个屏幕的坐标,而不是对象所在的窗口。所以我想通了,我需要获得对象和窗口的坐标,并找到差异来获得红色矩形的位置。 – stringa 2011-02-03 04:13:19

0

切勿使用坐标。相反,得到控制并使用DrawHighlight()方法。这将在控制之外绘制一个蓝色矩形。

+0

请勿在您的帖子中包含“关闭”和签名。 – 2012-10-05 08:18:10