2

私はこの状況を持っています。(.net 3.5)

OleAutomation と Office Interop を使用して、Excel、ツールバー、およびツールバーのボタンのハンドラーを作成する Winform アプリケーション。

これで、次のメソッドを使用してユーザー モーダル ウィンドウ (winform 2.0) を表示する機能がいくつかあります。

form.ShowDialog(new ExcelHwndWrapper(objExcelApplication.HWND))

そして、モーダルフォームの「所有者」は「Excel」ウィンドウに設定されます。

新しい機能のレイアウト要件のため、Winforms の代わりに WPF Window を作成したいと思います。

WPF ModalDialog "over" Excel Window を表示する方法はありますか?

winform の上に WPF ModalDialog を表示するための何かを見つけましたが、何も優れていません。

ありがとう。

4

1 に答える 1

2

VSTO と Office 2007 を使用しているときに、WPF Windows をモーダル ダイアログとして使用する際に問題が発生しました。Winforms フォームを作成し、その中にElementHostコントロールを配置してから、その中に WPF コンテンツを配置すると、はるかにうまく機能することがわかりました。

Winforms ラッパーなしで WPF Windows を使用したとき、特にキーボード入力を適切にキャプチャする際に問題が発生しました。

ElementHost を伸ばしてダイアログ全体を埋める限り、WPF ウィンドウがあるように見えます。

于 2010-01-25T19:23:18.313 に答える