是否有可能获得Window.Owner
的某些功能而没有获得全部功能?WPF中的窗口所有者没有始终在顶行为
有两个窗口,窗口A和窗口B.我想要这样做,以便选择其中任何一个将使他们在其他应用程序的顶部,但任一个可以覆盖另一个。 (实际上不止两个,但它们应该都是相似的。)
如果我将窗口B的Owner
设置为A,那么切换到任一窗口都会使其他应用程序(我想要)都处于前面,但是也会迫使B总是坐在A的顶部(我不想)。
我实际上已经有独立于Owner
/OwnedWindows
跟踪窗口层次结构的代码,所以我可以扩展它来解决激活问题。所以,如果这简化了问题,我正在寻找一个替代的答案是:
我该怎么做“当用户激活此窗口,带一组特定的窗口(应用程序中的所有其他人)到我下面的Z顺序,同时保留它们相对于彼此的现有Z顺序“?
+1我有同样的要求;你有没有找到解决方案?对于您的z顺序问题:您可以通过保留堆栈(仅列表)并注册所有窗口的激活事件来完成此操作。在每个事件上,你从堆栈中移除winodw并放回顶部(== list.Add)。列表中的foreach窗口将它引向前台(使用interop)。 –
stijn
2011-12-30 12:19:32
我还没有找到其他解决方案。托德的回答看起来很有希望,可能是我会用的(除非有更好的结果出现),但是我还没有设法测试它,因为这个项目已经被烧毁了。 (这就是为什么我还没有打勾的答案,我保证,我会最终回到它!) – Miral 2012-01-18 04:29:32