C++/CLI インターフェイス レイヤーを使用して、既存の C++ MFC アプリに C# WPF ダイアログを追加しています。モダリティに問題があることを除けば、私はうまくいっています。例えば:
- MFC アプリは、ShowDialog を使用して WPF ダイアログを表示します。期待どおりに動作します。
- その WPF ダイアログには、DoModal を使用した MFC ダイアログが表示されます。WPF ダイアログはベース C++ アプリの背後に隠れており、IsEnabled を手動で変更しない限り無効になりません。理想的ではありませんが、機能します。
- これで、MFC ダイアログが閉じます。なんらかの理由でベース MFC アプリが有効になっていますが、WPF ダイアログが閉じられていないために無効にする必要があります。WPFダイアログがまだ開いている間にユーザーがクレイジーなことをできるようになったため、これは悪いことです。
親ダイアログを正しく設定できればもっとうまくいく気がします。しかし、これまでのところ、MFC ダイアログの親を WPF ダイアログとして、またはその逆に設定することはできませんでした。そして、それがそれを修正するかどうかさえわかりません。
何か案は?