Ookii-dialogs-wpf: Win32ウィンドウハンドルをShowDialog()に渡します

作成日 2020年10月28日  ·  9コメント  ·  ソース: ookii-dialogs/ookii-dialogs-wpf

Win32ウィンドウハンドル(Microsoft Word、Excel、Outlookなど)をTaskDialog.ShowDialog()に渡したいのですが。 このためには、 private TaskDialog.ShowDialog(IntPtr owner) publicを作成するだけで十分なようです。

このメソッドをpublicにすることについてどう思いますか? よろしければPRを差し上げます。

ありがとう!

全てのコメント9件

こんにちは@ mu88 、原則として、 GetActiveWindowがハンドルを誤ったウィンドウIntPtr $に返すシナリオがある場合は、その変更で問題ありません-そうですか?

ExcelアドインなどからTaskDialogを使用していますか?

もしそうなら、 nullTask.ShowDialog(Window)に渡すと、所有者のハンドルが間違ってしまいますか?

早く戻ってきてくれてありがとう、 @ augustoproiete

WPFアプリケーションを開発しています。 このアプリケーションは、COMを介してExcelと通信し、 Process.MainWindowHandle #$を介してExcelのウィンドウハンドルをIntPtrとして取得します。 ここで、Excel内にカスタムTaskDialogを表示したいので、ダイアログの所有者はExcelのウィンドウハンドルである必要があります。 したがって、この場合、ExcelはWPFに基づいていないため、所有者として機能できるWPFウィンドウはありません。

リフレクションを介してprivate TaskDialogButton ShowDialog(IntPtr owner)を呼び出して試してみましたが、それは魅力のように機能します。

いいですね。 あなたがそれを望んでいるなら、私はそれからPRを取ります。

一貫性を保つために、他のダイアログにも同じオーバーロードを追加できる場合はボーナスポイント。

はい、このPRに行きます

#19経由で閉鎖

NuGetの新しいバージョン@augustoproieteを作成していただけますか?

確かに@ mu88。 明日の夕方までに新しいバージョンをnuget.orgにプッシュします

@ mu88NuGetパッケージがnuget.orgに公開されました-https ://www.nuget.org/packages/Ookii.Dialogs.Wpf/1.2.0

ありがとう@augustoproiete ! 私は新しいパッケージを統合しました、そしてそれは魅力のように機能します🥳

このページは役に立ちましたか?
0 / 5 - 0 評価