Ookii-dialogs-wpf: Lewati Win32 Window Handle ke ShowDialog()

Dibuat pada 28 Okt 2020  ·  9Komentar  ·  Sumber: ookii-dialogs/ookii-dialogs-wpf

Saya ingin meneruskan Win32 Window Handle (misalnya dari Microsoft Word, Excel atau Outlook) ke TaskDialog.ShowDialog() . Untuk ini, tampaknya cukup untuk membuat TaskDialog.ShowDialog(IntPtr owner) public alih-alih private .

Apa pendapat Anda tentang membuat metode ini public ? Saya bisa memberikan PR jika Anda mau.

Terima kasih!

Semua 9 komentar

Hai @mu88 , pada prinsipnya saya setuju dengan perubahan itu jika ada skenario di mana GetActiveWindow mengembalikan pegangan ke jendela yang salah IntPtr - apakah itu masalahnya?

Apakah menggunakan TaskDialog dari dalam add-in Excel atau serupa?

Jika demikian, apakah meneruskan null ke Task.ShowDialog(Window) salah menangani pemilik?

Terima kasih telah kembali begitu cepat, @augustoproiete !

Kami sedang mengembangkan aplikasi WPF. Aplikasi ini berkomunikasi dengan Excel melalui COM dan mengambil pegangan jendela Excel sebagai IntPtr melalui Process.MainWindowHandle . Sekarang kami ingin menampilkan TaskDialog kustom di dalam Excel - jadi pemilik dialog harus menjadi pegangan jendela Excel. Jadi dalam kasus kami, tidak ada jendela WPF yang dapat bertindak sebagai pemilik karena Excel tidak didasarkan pada WPF.

Saya mencobanya dengan memanggil private TaskDialogButton ShowDialog(IntPtr owner) melalui refleksi dan itu berfungsi seperti pesona.

Kedengarannya bagus. Saya akan mengambil PR kemudian jika Anda siap untuk itu.

Poin bonus jika Anda dapat menambahkan kelebihan yang sama ke dialog lain juga, untuk konsistensi.

Ya, saya akan mengerjakan PR ini

Ditutup melalui #19

Bisakah Anda membuat versi baru untuk NuGet, @augustoproiete ?

Tentu @mu88. Saya akan mendorong versi baru ke nuget.org besok malam

@mu88 Paket NuGet dipublikasikan ke nuget.org - https://www.nuget.org/packages/Ookii.Dialogs.Wpf/1.2.0

Terima kasih @augustoproiete ! Saya telah mengintegrasikan paket baru dan berfungsi seperti pesona

Apakah halaman ini membantu?
0 / 5 - 0 peringkat