Bagikan melalui


Catatan rilis saluran stabil terbaru untuk SDK Aplikasi Windows

Saluran stabil menyediakan rilis SDK Aplikasi Windows yang didukung untuk digunakan oleh aplikasi di lingkungan produksi. Aplikasi yang menggunakan rilis stabil SDK Aplikasi Windows juga dapat diterbitkan ke Microsoft Store.

Tautan penting:

Arsip catatan rilis saluran stabil:

Unduhan untuk SDK Aplikasi Windows

Catatan

SDK Aplikasi Windows Visual Studio Extensions (VSIX) tidak lagi didistribusikan sebagai unduhan terpisah. Mereka tersedia di Visual Studio Marketplace di dalam Visual Studio.

Versi 1.5

Versi 1.5.5 (1.5.240627000)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.5.

  • Memperbaiki potensi crash selama pemuatan gambar saat sumber gambar diubah sebelum pemuatan selesai.
  • Memperbaiki potensi crash saat menggunakan InputNonClientPointerSource.
  • Memperbaiki masalah di mana jendela yang hanya berisi kontrol WebView2 tidak mengatur fokus keyboard awal dengan benar ke WebView2, membiarkannya tidak dapat digunakan oleh keyboard dan alat aksesibilitas. Untuk informasi selengkapnya, lihat Masalah GitHub WebView2Feedback#2330.

Versi 1.5.4 (1.5.240607001)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.5.

  • Memperbaiki masalah dengan perbaikan untuk masalah GitHub #8857 untuk menggabungkan resource.pri pustaka dengan benar ke dalam resources.pri aplikasi.
  • Memperbaiki masalah di mana WebView2 mengirim ekstra blur dan focus peristiwa pada setiap klik. Untuk informasi selengkapnya, lihat Masalah GitHub #9288. Ini juga memperbaiki masalah dengan dropdown yang tidak merespons, seperti yang terlihat dalam masalah GitHub #9566.
  • Memperbaiki masalah saat membuat jendela baru atau popup membatalkan operasi seret yang sedang berlangsung. Untuk informasi selengkapnya, lihat Masalah GitHub #9360.
  • Memperbaiki masalah di mana file SVG yang mendefinisikan kotak tampilan negatif tidak lagi dirender. Untuk informasi selengkapnya, lihat Masalah GitHub #9415.
  • Memperbaiki masalah di mana x:Bind tidak memeriksa null sebelum menggunakan referensi lemah, yang dapat mengakibatkan crash. Untuk informasi selengkapnya, lihat Masalah GitHub #9551.
  • Memperbaiki masalah di mana kursor ubah ukuran salah ditampilkan di tepi bilah judul saat jendela dimaksimalkan, yang juga menyebabkan perilaku yang salah saat mengklik atau menyeret di area tersebut. Untuk informasi selengkapnya, lihat Masalah GitHub #8665.

Versi 1.5.3 (1.5.240428000)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.5.

  • Memperbaiki masalah di mana ItemsRepeater terkadang menyebabkan jendelanya dibawa ke depan.
  • Memperbaiki potensi crash saat status transparansi diperbarui AcrylicBrush .
  • Memperbaiki masalah di mana ItemsRepeater tidak akan menghasilkan item yang ShouldConstrainToRootBounds="false" cukup jika berada di popup yang lebih tinggi atau lebih lebar dari jendela utama.
  • Memperbaiki masalah di mana kesalahan MSB4086 dapat terjadi pada waktu build jika file proyek tidak menentukan TargetPlatformVersion. Kesalahan ini ditemui sebagai bagian dari masalah GitHub #9531.

Versi 1.5.2 (1.5.240404000)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.5 dan fitur baru untuk penyedia umpan Widget.

Pembaruan penyedia umpan widget

  • Penyedia umpan sekarang dapat menampilkan pengumuman di Dasbor Widget:
    • API baru FeedManager.TryShowAnnouncement memungkinkan Penyedia Umpan untuk meminta agar Dasbor Widget menampilkan pengumuman mereka. Untuk menampilkan pengumuman Anda, buat FeedAnnouncement objek dan panggil FeedManager.TryShowAnnouncement API.
    • Pengumuman umpan akan memiliki lencana mereka sendiri yang ditampilkan di taskbar yang dapat disesuaikan menggunakan FeedAnnouncement API.
  • Penyedia umpan sekarang dapat memilih untuk menerima informasi Analitik dan Laporan Kesalahan tentang penyedia mereka saat pengguna berinteraksi dengannya. Untuk ikut serta, terapkan IFeedProviderAnalytics antarmuka dan/atau IFeedProviderErrors oleh penyedia Anda.

Pembaruan penyedia umpan mencakup API baru berikut:

Microsoft.Windows.Widgets.Feeds.Providers
 
    FeedAnalyticsInfoReportedArgs
    FeedErrorInfoReportedArgs
    FeedManager
        SendMessageToContent
        TryShowAnnouncement
 
    FeedMessageReceivedArgs
    FeedResourceRequest
    FeedResourceRequestedArgs
    FeedResourceResponse
    IFeedAnnouncementInvokedTarget
    IFeedManager2
    IFeedProviderAnalytics
    IFeedProviderErrors
    IFeedProviderMessage
    IFeedResourceProvider
Microsoft.Windows.Widgets.Notifications
 
    AnnouncementActionKind
    AnnouncementTextColor
    FeedAnnouncement
    FeedAnnouncementInvokedArgs

Perbaikan bug

  • Memperbaiki masalah di mana DispatcherTimer tidak akan diaktifkan pada waktu yang benar jika tampilan utama tidak berjalan pada 60 Hz.
  • Memperbaiki masalah di mana jendela editor metode input kotak teks (IME) akan salah diposisikan saat berjalan pada faktor skala selain 100%. Untuk informasi selengkapnya, lihat Masalah GitHub #9382.
  • Memperbaiki masalah di mana operasi seret dan letakkan dimulai dari aplikasi lain mungkin tidak mengizinkan operasi penurunan Salin/Pindahkan/Tautkan yang benar.
  • Memperbaiki potensi crash saat ListView ItemsSource direset dan fokus yang diberikan segera.
  • Memperbaiki masalah di mana ShouldConstrainToRootBounds="false" popup/flyout tidak menerapkan transformasi skala yang diwariskan. Untuk informasi selengkapnya, lihat Masalah GitHub #9118 dan #9433.
  • Memperbaiki potensi crash ketika objek Komposisi dihancurkan dengan animasi yang masih berjalan.
  • Memperbaiki potensi crash saat dimatikan di NavigationView::RevokeNavigationViewItemRevokers.

Versi 1.5.1 (1.5.240311000)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.5.

  • Memperbaiki masalah saat aplikasi mandiri mungkin gagal dibuat karena tidak dapat menyalin "map.html".
  • Memperbaiki masalah di mana MapControl akan gagal diinisialisasi karena menolak token yang valid. Untuk informasi selengkapnya, lihat Masalah GitHub #9324.
  • Memperbaiki masalah saat MapControl dimuat dengan latar belakang biru. Untuk informasi selengkapnya, lihat Masalah GitHub #9377.
  • Memperbaiki masalah saat mengklik chevron NavigationViewItem yang tidak diperluas atau diciutkan dengan benar pada satu klik. Ini juga menyebabkan menu ditampilkan sebagai kosong saat mengklik chevron dalam PaneDisplayMode="Top" mode. Untuk informasi selengkapnya, lihat Masalah GitHub #9423 dan #9426.
  • Memperbaiki masalah saat mengetuk NavigationViewItem dengan sentuhan atau pena akan mencegah item merespons input di masa mendatang. Untuk informasi selengkapnya, lihat Masalah GitHub #9429.
  • Memperbaiki crash saat mengklik item di area tersebut NavigationView.PaneFooter . Untuk informasi selengkapnya, lihat Masalah GitHub #9396.
  • Memperbaiki masalah di mana ikon dalam menu terkadang ditampilkan di tempat yang salah. Untuk informasi selengkapnya, lihat Masalah GitHub #9409.
  • Memperbaiki masalah di mana akrilik tidak ditampilkan pada menu hingga beralih menjauh dari jendela dan kembali. Untuk informasi selengkapnya, lihat Masalah GitHub #9406.
  • Memperbaiki crash yang dapat terjadi selama TextBox/RichEditBox inisialisasi. Untuk informasi selengkapnya, lihat Masalah GitHub #9216.
  • Memperbaiki beberapa pengecualian berisik yang NavigationView melemparkan dan terjebak pada kehancuran.
  • Memperbaiki masalah di mana gerakan "jepit untuk memperbesar" terkadang akan muncul sebagai geser atau ketuk karena pesan yang salah PointerCaptureLost diaktifkan.

Versi 1.5

Bagian berikut menjelaskan fitur baru dan yang diperbarui serta masalah yang diketahui untuk versi 1.5.

Di aplikasi SDK Aplikasi Windows 1.4 yang ada, Anda dapat memperbarui paket Nuget ke 1.5.240227000 (lihat bagian Memperbarui paket di Menginstal dan mengelola paket di Visual Studio menggunakan Manajer Paket NuGet).

Untuk runtime dan MSIX yang diperbarui, lihat Unduhan untuk SDK Aplikasi Windows.

Pembaruan runtime dan matikan Kepulauan XAML

Ada perbedaan perilaku antara WinAppSDK 1.4 dan WinAppSDK 1.5 untuk aplikasi berbasis Kepulauan XAML ketika Jendela XAML terakhir pada utas apa pun ditutup.

  • Di WinAppSDK 1.4, runtime XAML selalu keluar dari perulangan peristiwa utas ketika jendela XAML terakhir pada utas ditutup.
  • Di WinAppsDK 1.5:
    • Jika aplikasi Anda adalah aplikasi WinUI Desktop, perilaku defaultnya masih sama seperti di WinAppSDK 1.4.
    • Jika Anda menggunakan XAML untuk API DesktopWindowXamlSource ("Kepulauan XAML"), perilaku default sekarang adalah bahwa XAML tidak secara otomatis keluar dari perulangan peristiwa utas.
    • Di kedua mode, Anda dapat mengubah perilaku ini dengan mengatur Application.DispatcherShutdownMode properti .

Untuk informasi selengkapnya, lihat dokumentasi untuk Application.DispatcherShutdownMode properti jika tersedia. Ini menyelesaikan proposal GitHub #8492.

Ada perbedaan perilaku antara WinAppSDK 1.4 dan WinAppSDK 1.5 untuk aplikasi berbasis Kepulauan XAML dalam masa pakai runtime XAML:

  • Di WinAppSDK 1.4, runtime XAML dimatikan pada utas jika semua WindowsXamlManager objek dan DesktopWindowXamlSource pada utas tertentu ditutup atau dimatikan, atau berjalan pada utas tersebut DispatcherQueue dimatikan (dalam hal ini, runtime XAML dimatikan selama DispatcherQueue.FrameworkShutdownStarting tahap).
  • Di WinAppSDK 1.5, runtime XAML dimatikan pada utas hanya ketika DispatcherQueue yang berjalan pada utas tersebut dimatikan (runtime Xaml selalu dimatikan selama DispatcherQueue.FrameworkShutdownStarting tahap).

Untuk informasi selengkapnya, lihat dokumentasi untuk WindowsXamlManager kelas jika tersedia.

Ada perbedaan perilaku dalam WindowsXamlManager.InitializeForCurrentThread():

  • Di WinAppSDK 1.4, WindowsXamlManager.InitializeForCurrentThread() mengembalikan instans WindowsXamlManager unik objek dengan setiap panggilan.
  • Di WinAppSDK 1.5, WindowsXamlManager.InitializeForCurrentThread() mengembalikan instans yang ada jika sudah ada di utas. Close/Dispose() sekarang diabaikan.

Kontrol WinUI Maps

Kontrol WinUI Maps sekarang tersedia! Kontrol ini didukung oleh WebView2 dan Azure Maps, menyediakan fitur-fitur berikut:

  • Menggeser dan memperbesar dengan tombol peta atau sentuhan.
  • Mengubah gaya peta menjadi satelit, medan, atau tampilan jalan.
  • Menambahkan pin yang dapat berinteraksi secara terprogram dengan ikon yang dapat disesuaikan pengembang ke peta.
  • Kustomisasi pengembang tempat peta berpusat pada beban awal.
  • Kontrol untuk pengembang atas persembunyian atau memperlihatkan tombol untuk panning, zooming, dan gaya peta.

Kontrol Peta WinUI 3

Catatan

Untuk menggunakan Maps kontrol, Anda memerlukan kunci Azure Maps. Untuk membuat kunci, lihat halaman dokumentasi Azure Maps untuk membuat aplikasi web.

Kontrol Maps sepenuhnya baru dan kami menyambut umpan balik Anda untuk mengevaluasi arah masa depannya!

Kontrol SelectorBar Baru

Dalam 1.5, kami telah menambahkan kontrol baru SelectorBar untuk memungkinkan pengguna beralih di antara beberapa tampilan data. Kontrol ini sebelumnya dikenal sebagai "SegmentedControl" pada peta strategi 1.5 kami.

Kontrol Bilah Pemilih WinUI 3

Label dalam perintah utama CommandBarFlyout

Visual telah diperbarui CommandBarFlyout untuk menampilkan label teks untuk item di area perintah utama jika Label properti telah diatur pada AppBarButton. Sebelumnya, perintah utama di CommandBarFlyout area hanya menampilkan ikon, tetapi sekarang mereka dapat menampilkan ikon dan label untuk meningkatkan kegunaan.

Label CommandBarFlyout WinUI 3

Dukungan WebView2 untuk lingkungan/opsi kustom

Kontrol WinUI WebView2 sekarang mengekspos kemampuan untuk menyesuaikan objek yang mendasar CoreWebView2 dengan kustom CoreWebView2Environment dan CoreWebView2ControllerOptions. Ini memungkinkan penulis aplikasi menentukan jalur alternatif untuk memuat WebView2Runtime, memilih untuk menggunakan UserDataFolder yang berbeda, atau mengatur opsi seperti IsPrivateModeEnabled dan ScriptLocale.

Suppport untuk .NET 8

Kami menambahkan dukungan untuk .NET 8 dalam rilis layanan 1.4 baru-baru ini, tetapi itu masih menyimpan peringatan untuk penggunaan RID khusus platform. Dalam 1.5, kami menyelesaikan pekerjaan itu sehingga peringatan tidak lagi ada.

Penelusuran kesalahan dan ketersediaan sumber yang ditingkatkan

Kami sekarang menyuntikkan informasi server sumber Github untuk kode dalam repositori microsoft-ui-xaml ke simbol publik kami, yang memungkinkan debugger mengunduh kode sumber secara otomatis. Kami juga melakukan perbaikan dan peningkatan lainnya pada simbol kami di seluruh WinAppSDK untuk meningkatkan pengalaman debugging.

Fungsionalitas yang disempurnakan untuk siklus tata letak penelusuran kesalahan

Siklus tata letak penelusuran kesalahan di aplikasi WinUI dapat menjadi tantangan, jadi dalam 1,5 DebugSettings objek sekarang mengekspos opsi untuk mengaktifkan pengelogan dan titik henti yang ditingkatkan untuk proses tata letak agar lebih mudah untuk men-debug dan memperbaiki siklus tata letak di aplikasi.

Fitur baru lainnya dari seluruh WinAppSDK

  • Menambahkan dukungan untuk model penyebaran PublishSingleFile. Untuk informasi selengkapnya tentang PublishSingleFile, lihat Dokumentasi penyebaran file tunggal.
  • Menambahkan peningkatan pada dukungan pembaca layar, dukungan penskalaan teks, dan fitur aksesibilitas lainnya.
  • Berbagai peningkatan stabilitas dan performa berdasarkan backlog bug GitHub yang kami prioritaskan.

Fitur baru dirilis secara terpisah

Versi baru Templat Visual Studio WinAppSDK untuk C# dan C++ dirilis melalui Visual Studio Marketplace dan akan muncul beberapa minggu setelah rilis 1.5. Dengan versi baru, templat sekarang dapat dirilis secara independen dari rilis WinAppSDK, memberi kami lebih banyak fleksibilitas dalam mendapatkan pembaruan kepada pelanggan.

Fitur lain yang direncanakan sebelumnya

Pada 1.5, kami membuat kemajuan pada fitur-fitur berikut yang kami umumkan di peta strategi kami, tetapi tidak menyelesaikannya. Mereka akan berlanjut ke jangka waktu 1.6.

  • Jendela bertab
  • Dukungan seret-n-letakkan untuk WebView2
    • Untuk mengklarifikasi, dalam 1.5 menyeret ke WebView2 didukung, seperti menyeret PNG dari File Explorer ke Bing untuk Visual Search. Pekerjaan sedang berlangsung di 1.6 untuk mendukung penyeretan keluar dari WebView2.
  • Investigasi ke dalam tampilan tabel dan kontrol tinta

Pencahayaan dinamis telah dihapus dari peta jalan untuk saat ini.

Masalah umum

  • Saat menggunakan pustaka yang berisi sumber daya seperti file .xaml, Anda mungkin mencapai pesan kesalahan pada runtime yang menunjukkan bahwa sumber daya tersebut tidak dapat ditemukan. Dalam hal ini, mungkin perlu disisipkan <ShouldComputeInputPris>true</ShouldComputeInputPris> dalam file proyek untuk memastikan sumber daya tersebut disertakan.
  • Mengklik chevron yang NavigationViewItem tidak lagi diperluas atau diciutkan dengan benar pada satu klik. Mengklik dua kali masih berfungsi, seperti halnya mengklik di tempat lain di NavigationViewItem.

Perbaikan bug

  • Memperbaiki masalah saat StackPanel menerapkan penspasian ke item yang diciutkan. Untuk informasi selengkapnya, lihat Masalah GitHub #916.
  • Memperbaiki masalah dengan kontrol gulir tidak lagi berfungsi setelah menutup jendela aplikasi lain. Untuk informasi selengkapnya, lihat Masalah GitHub #9292 dan #9355.
  • Memperbaiki crash saat mengatur DebugSettings.EnableFrameRateCounter ke true sebelum bingkai pertama dirender. Untuk informasi selengkapnya, lihat Masalah GitHub #2835.
  • Memperbaiki potensi kesalahan kompilasi untuk C++ di mana beberapa header tidak menyertakan dependensi yang diperlukan. Perhatikan bahwa perubahan pesanan #include mungkin berdampak pada beberapa aplikasi, seperti mungkin menyebabkan kesalahan kompilasi jika IInspectable aplikasi menggunakan versi C++/WinRT yang lebih lama dari 2023. Untuk informasi selengkapnya, lihat Masalah GitHub #9014.
  • Memperbaiki masalah di mana ElementName pengikatan tidak berfungsi di ItemsRepeater DataTemplatedalam . Untuk informasi selengkapnya, lihat Masalah GitHub #560.
  • Memperbaiki crash saat menjalankan aplikasi di bawah Visual Studio dengan toolbar dalam aplikasi diaktifkan. Visual Studio 17.8 Pratinjau 2 atau yang lebih baru diperlukan untuk sepenuhnya mendapatkan perbaikan. Untuk informasi selengkapnya, lihat Masalah GitHub #8806.
  • Memperbaiki masalah di mana AnnotatedScrollbar terkadang dapat crash saat menggulir dengan cepat.
  • Memperbaiki masalah di mana teks menu terkadang akan terpotong.
  • Memperbaiki masalah di mana tips mengajar tidak menerima fokus yang tepat. Untuk informasi selengkapnya, lihat Masalah GitHub #3257.
  • Memperbaiki masalah yang merusak aplikasi saat mengatur TailVisibility ke TeachingTip Ciutkan saat startup. Untuk informasi selengkapnya, lihat Masalah GitHub #8731.
  • Memperbaiki masalah tentang bagaimana file PRI ditangani saat menggunakan pustaka. Untuk informasi selengkapnya, lihat Masalah GitHub #8857.
  • Memperbaiki masalah dari rilis 1.5-experimental2 di mana DLL proyeksi tidak dihasilkan. Untuk informasi selengkapnya, lihat Masalah GitHub #4152.
  • Memperbaiki masalah di mana tombol elipsis pada popup RichEditBox pemformatan teks tidak menampilkan daftar tindakan dengan benar. Untuk informasi selengkapnya, lihat Masalah GitHub #9140.
  • Memperbaiki masalah saat ListView tidak menangani akselerator keyboard dengan benar. Untuk informasi selengkapnya, lihat Masalah GitHub #8063.
  • Memperbaiki masalah pelanggaran akses dengan menggunakan AccessKey untuk menutup jendela. Untuk informasi selengkapnya, lihat Masalah GitHub #8648.
  • Memperbaiki crash saat menggunakan AccessKey untuk menutup jendela. Untuk informasi selengkapnya, lihat Masalah GitHub #9002.
  • Memperbaiki masalah yang memengaruhi perataan teks dalam MenuFlyoutItem dalam MenuBar. Untuk informasi selengkapnya, lihat Masalah GitHub #8755.
  • Memperbaiki masalah di mana teks yang disorot tidak akan tetap disorot saat klik kanan. Untuk informasi selengkapnya, lihat Masalah GitHub #1801.
  • Memperbaiki masalah yang menyebabkan jendela tidak aktif mengalami crash pada aplikasi saat ditutup. Untuk informasi selengkapnya, lihat Masalah GitHub #8913.
  • Memperbaiki masalah yang dapat menggantung aplikasi saat menggulir dengan tombol mouse tengah dan mengklik kiri segera setelahnya. Untuk informasi selengkapnya, lihat Masalah GitHub #9233.
  • Memperbaiki masalah yang menyebabkan aplikasi mengalami crash saat startup saat menggunakan kustom NavigationViewItem. Untuk informasi selengkapnya, lihat Masalah GitHub #8814.
  • Memperbaiki NavigationView masalah di mana tombol elipsis akan salah menghasilkan kesalahan. Untuk informasi selengkapnya, lihat Masalah GitHub #8380.
  • Memperbaiki masalah di mana SystemBackdrop tidak akan dirender dengan benar di aplikasi multi-jendela. Untuk informasi selengkapnya, lihat Masalah GitHub #8423.
  • Memperbaiki masalah duplikasi saat menyisipkan ke awal ObservableCollection. Untuk informasi selengkapnya, lihat Masalah GitHub #8370.