Menyematkan petak sekunder dari aplikasi desktop
Aplikasi desktop seperti aplikasi WinUI 3 (menggunakan SDK Aplikasi Windows), atau aplikasi Windows Presentation Foundation (WPF) atau Formulir Windows (WinForms), dapat menyematkan petak peta sekunder dengan menggunakan aplikasi paket (lihat Membangun paket MSIX dari kode Anda). Ini sebelumnya dikenal sebagai Desktop Bridge.
Penting
Memerlukan Pembaruan Fall Creators: Anda harus menargetkan SDK 16299 dan menjalankan build 16299 atau yang lebih baru untuk menyematkan petak sekunder dari aplikasi Desktop Bridge.
Menambahkan petak peta sekunder dari aplikasi SDK Aplikasi Windows, WPF, atau WinForms Sangat mirip dengan aplikasi UWP murni. Satu-satunya perbedaan adalah Anda harus menentukan handel jendela utama (HWND). Ini karena ketika menyematkan petak peta, Windows menampilkan dialog modal yang meminta pengguna untuk mengonfirmasi apakah mereka ingin menyematkan petak peta. Jika aplikasi desktop tidak mengonfigurasi objek SecondaryTile dengan jendela pemilik, maka Windows tidak tahu di mana harus menggambar dialog, dan operasi akan gagal.
Mengemas aplikasi Anda
Jika Anda membuat aplikasi SDK Aplikasi Windows dengan WinUI 3, Anda harus menggunakan aplikasi paket untuk menyematkan petak sekunder. Tidak ada langkah tambahan yang diperlukan untuk mengemas aplikasi jika Anda mulai dengan templat aplikasi yang dipaketkan.
Jika Anda menggunakan WPF atau WinForms, dan Anda belum mengemas aplikasi dengan Desktop Bridge, maka Anda harus melakukannya sebelum dapat menggunakan API Runtime Windows (lihat Membangun paket MSIX dari kode Anda).
Menginisialisasi dan menyematkan petak peta sekunder menggunakan antarmuka IInitializeWithWindow
Catatan
Bagian ini untuk WinUI 3; dan untuk WPF/WinForms dengan .NET 6 atau yang lebih baru.
Dalam file proyek, atur properti TargetFramework ke nilai yang memberi Anda akses ke API Runtime Windows (lihat .NET 6 dan yang lebih baru: Gunakan opsi Moniker Kerangka Kerja Target). Itu termasuk akses ke namespace WinRT.Interop (lihat Memanggil API interop dari aplikasi .NET). Contohnya:
<PropertyGroup> <!-- You can also target other versions of the Windows SDK and .NET; for example, "net6.0-windows10.0.19041.0" --> <TargetFramework>net6.0-windows10.0.22000.0</TargetFramework> </PropertyGroup>
Inisialisasi objek petak peta sekunder baru persis seperti yang Anda lakukan dengan aplikasi UWP normal. Untuk mempelajari selengkapnya tentang membuat dan menyematkan petak sekunder, lihat Menyematkan petak sekunder.
// Initialize the tile with required arguments var tile = new Windows.UI.StartScreen.SecondaryTile( "myTileId5391", "Display name", "myActivationArgs", new Uri("ms-appx:///Assets/Square150x150Logo.png"), TileSize.Default);
Ambil handel jendela, dan inisialisasi objek petak peta sekunder dengan handel tersebut. Dalam kode di bawah ini,
this
adalah referensi ke objek Window (baik jendela WinUI 3, jendela WPF, atau jendela WinForms). Untuk informasi selengkapnya, lihat Mengambil handel jendela (HWND) dan Menampilkan objek UI WinRT yang bergantung pada CoreWindow.var hWnd = WinRT.Interop.WindowNative.GetWindowHandle(this); WinRT.Interop.InitializeWithWindow.Initialize(tile, hWnd);
Terakhir, minta untuk menyematkan petak peta seperti yang Anda lakukan di aplikasi UWP normal.
// Pin the tile bool isPinned = await tile.RequestCreateAsync(); // Here, update UI to reflect whether user can now either unpin or pin
Mengirim pemberitahuan petak peta
Penting
Memerlukan April 2018 versi 17134.81 atau yang lebih baru: Anda harus menjalankan build 17134.81 atau yang lebih baru untuk mengirim petak peta atau pemberitahuan lencana ke petak sekunder dari aplikasi Desktop Bridge. Sebelum pembaruan layanan .81 ini, 0x80070490 Element tidak menemukan pengecualian akan terjadi saat mengirim petak peta atau pemberitahuan lencana ke petak sekunder dari aplikasi Desktop Bridge.
Mengirim pemberitahuan petak atau lencana sama dengan aplikasi UWP. Lihat Mengirim pemberitahuan petak peta lokal untuk memulai.
Sumber
Windows developer