是否有可能獲得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