すべてがどのように機能するかを理解できるように、MSDN の関連ページをすべて読むことをお勧めします。
メソッドのShow
場合:
ウィンドウを開き、新しく開いたウィンドウが閉じるのを待たずに戻ります。
メソッドのShowDialog
場合:
ウィンドウを開き、新しく開いたウィンドウが閉じられたときにのみ戻ります。
Window.Show Methodページの備考セクションから:
Window クラスがインスタンス化されると、デフォルトでは表示されません。Show はウィンドウを表示し、ウィンドウが閉じられるのを待たずにすぐに戻ります。したがって、開いたウィンドウは、ユーザーがアプリケーション内の他のウィンドウと対話することを妨げません。このタイプのウィンドウは、モードレス ウィンドウと呼ばれます。モードレス ウィンドウの一般的な例は、プロパティ ウィンドウ、ツールボックス、およびパレットです。ユーザーが特定のウィンドウと対話するように制限するには、ShowDialog を呼び出してウィンドウを開く必要があります。
Show を呼び出すと、Window オブジェクトの Visibility プロパティを Visible に設定した場合と同じ最終結果が得られます。ただし、タイミングの観点から見ると、両者には違いがあります。
したがって、解決策として、Show
代わりにメソッドを使用することをお勧めします。