2017-05-07 87 views
0

每當我在初始化代碼中調試WPF程序或Visual Studio中的任何Windows程序時,使用步入功能時,wpf窗口始終位於編輯器之上,我無法看到它背後是什麼,這當然是在初始化主應用程序的過程中變得沒有響應,因此無法將怠速窗口移開,所以我可以看到我正在調試的東西。調試WPF窗口阻礙編輯器

有沒有辦法解決這個問題?這可能是一個愚蠢的問題,如果我有一個明顯的解決方案,我深表歉意。希望這個問題是有道理的。

更新:這裏是我正在處理的屏幕截圖。 正如你在這裏看到的「Ernanis Renamer」窗口阻擋視圖,如果我試圖拖動它並將其移開,它不會讓我在它被暫停時需要繼續,直到顯示所有組件。 enter image description here

**Update:** Here is a video of a simple annoyance that I keep getting every time I try to debug during initialization. 
 
<div style="position:relative;height:0;padding-bottom:56.25%"><iframe src="https://www.youtube.com/embed/RmbMGqcMtiU?ecver=2" width="640" height="360" frameborder="0" style="position:absolute;width:100%;height:100%;left:0" allowfullscreen></iframe></div>

+2

通常情況下,調試器將保持在前面。你的情況爲什麼不同?在初始化過程中,你的窗口是如何可見的(因爲它還沒有被初始化),但是沒關係阻塞調試器窗口?將TopMost設置爲true會導致這種情況發生,但只有在窗口可見之後(並且修復很明顯:不要設置TopMost)。你需要更具體,確保包含足夠的細節,並最好有一個很好的[mcve],以顯示你是如何進入這種情況的。 –

+0

@PeterDuniho在這裏我添加了我正在處理的屏幕截圖。我可能已經意識到,也許我正在嘗試進入窗口的初始化過程中,從而顯示一個不完整的窗口。 – Chopnut

+1

對不起,截圖並沒有改善你的問題。你對症狀的描述很清楚。它是理解這個問題的原因,並且你的問題中沒有任何信息可以幫助我們理解這一點。 –

回答

1

可能以非顯而易見的方式來添加的「層次最高的」行爲(例如一個窗口樣式,或一些古怪的代碼隱藏),這就是爲什麼你不能找到它。

爲了明確地回答您的「窗口」是否被設置爲「Always On Top」/「TopMost」,請下載Windows Detective。

安裝它,並以 「管理權限」 來運行它。

「Pick」/「查找」您的應用程序窗口(確保它是最外層/主窗口窗口),然後選擇「編輯屬性」(因爲它顯示標誌更清晰)。

enter image description here

然後,您有不同的方式來「處理」的情況你犯錯誤的窗口。

  • 1)使用窗口偵探接通總在最前面的Visual Studio - 因此它可以出現在你的應用程序窗口前

  • 2)使用窗口偵探關掉總在最上面爲您應用程序窗口

  • 3)將一些代碼放到您的應用程序中(在窗口初始化之後,但在調試/跟蹤之前),因此如果您從調試器連接/運行它,

    if (System.Diagnostics.Debugger.IsAttached) 
    { 
        this.Topmost = false; 
    } 
    

然後你不會忘記「養」的「最上面」的行爲,如果這是你設計的「一部分」。