Q116. Form.ShowDialogのパラメータに Window を渡したい

A.全くニーズはないと思いますが(汗)、とりあえず備忘録としてエントリを起こしました。

Forms から WPF への移行期間に、同一プロジェクト(もしくはソリューション)内で Form と Window が混在する場合があります。*1
親 Window から子 Form を ShowDialog で起動する際、ShowDialog のパラメータに、親である Window を渡したいというケースがあるとしましょう。*2 Form.ShowDialog メソッドのパラメータは System.Windows.Forms.IWin32Window のため、そのままではパラメータに Window のインスタンスを渡すことができません。そこで以下のように IWin32Window を実装したクラスでラッピングしてあげるといいです。以下コードです。


お粗末さまでしたm(_ _)m


WPF FAQ の目次に戻る



 

*1:殆どないがw

*2:こういうケースもよほどの限りないと思われるがw