Win32ウィンドウハンドル(Microsoft Word、Excel、Outlookなど)をTaskDialog.ShowDialog()
に渡したいのですが。 このためには、 private
TaskDialog.ShowDialog(IntPtr owner)
public
を作成するだけで十分なようです。
このメソッドをpublic
にすることについてどう思いますか? よろしければPRを差し上げます。
ありがとう!
こんにちは@ mu88 、原則として、 GetActiveWindow
がハンドルを誤ったウィンドウIntPtr
$に返すシナリオがある場合は、その変更で問題ありません-そうですか?
ExcelアドインなどからTaskDialogを使用していますか?
もしそうなら、 null
をTask.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 ! 私は新しいパッケージを統合しました、そしてそれは魅力のように機能します🥳