如何判断哪个Silverlight Popup(或ChildWindow)是最顶级的?

时间:2010-09-07 22:26:41

标签: silverlight popup hittest childwindow

我试图在Silverlight应用程序中点击测试以找到鼠标光标下的元素。

通常VisualTreeHelper.FindElementsInHostCoordinates适用于此。如果有Popup打开,我需要将弹出窗口传递给命中测试方法。如果有多个弹出窗口打开,我需要确定要传入的正确(最顶层)弹出窗口。

有没有可靠的方法来确定哪个Popup是最顶端的?我在一个可能在Popup打开后加载的程序集中执行此操作,因此我不能依赖于跟踪它们的打开顺序。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

新的VisualTreeHelper.GetOpenPopups调用似乎从下到上按顺序返回打开的Popup(或者最近最近打开?)。这就是我所需要的。

发布此答案,以防其他人遇到同样的问题。