2017-05-07 8 views
0

Visual Studioの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

申し訳ありませんが、スクリーンショットはあなたの質問を改善しません。症状の説明は十分に明確でした。 _cause_を理解していますが、それは問題です。あなたの質問には、それを理解するのに役立つ単一の情報はありません。 –

答えて

1

「最上位」行動は非自明な方法で添加されている可能性があります(たとえば、ウィンドウスタイル、またはいくつかの風変わりな分離コード)あなたが見つけることができない理由です、それ。

あなたの「ウィンドウ」が「常にトップに」/「トップメイスト」になっているかどうかについては、Windows Detectiveをダウンロードしてください。

それをインストールし、 "管理者権限" でそれを実行します。

実行中にアプリケーションウィンドウを選択(「最も外側の/メインフレームウィンドウであることを確認」)し、「プロパティの編集」を選択します(フラグが明瞭に表示されます)。

enter image description here

は、次に、あなたの誤ったウィンドウの「ハンドル」の状況にさまざまな方法があります。

  • 1)を使用するウィンドウのVisual Studioのために常に手前に表示をONにする探偵 - あなたのために常に手前に表示をオフにするには、それはあなたのアプリケーションのウィンドウの前に

  • 2を来ることができるようにする)を使用するウィンドウ探偵アプリケーションウインドウ

  • 3)アプリケーションに(デバッグ/トレースしている前に、ウィンドウの初期化後)いくつかのコードを入れて、デバッガから接続/実行している場合は一番上にしないようにします。

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

それはあなたのデザインの「一部」である場合は、その後、「最上位の」行動「を保つ」ことを忘れません。

関連する問題