Bagikan melalui


Catatan rilis saluran yang stabil untuk SDK Aplikasi Windows 1.4

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:

Rilis saluran stabil terbaru:

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.4.7 (1.4.240802001)

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

  • 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 potensi crash saat dimatikan jika AnnotatedScrollBar pembaruan label tertunda.

Versi 1.4.6 (1.4.240512000)

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

  • Memperbaiki potensi crash saat memproses input.
  • Memperbaiki masalah di mana operasi seret dan letakkan yang dimulai dari aplikasi lain mungkin tidak mengizinkan operasi penghilangan Salin/Pindahkan/Tautkan yang benar.
  • Memperbaiki informasi server sumber WinUI untuk penelusuran kesalahan agar menunjuk ke repositori GitHub microsoft-ui-xaml dengan benar.
  • Memperbaiki masalah dengan perbaikan untuk masalah GitHub #8857 untuk menggabungkan pustaka resources.pri dengan benar ke dalam aplikasi resources.pri.

Versi 1.4.5 (1.4.240211001)

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

  • Memperbaiki masalah yang dapat menggantung aplikasi saat mengklik tombol mouse saat menggulir dengan roda mouse. Untuk informasi selengkapnya, lihat Masalah GitHub #9233.
  • Memperbaiki masalah dengan aset duplikat saat mereferensikan rantai paket NuGet. Untuk informasi selengkapnya, lihat Masalah GitHub #8857.
  • Memperbaiki beberapa BreadcrumbBar masalah termasuk kebocoran memori, crash saat menu elipsis kosong, dan menu elipsis salah dibatasi di dalam jendela.
  • Memperbaiki potensi crash saat dimatikan saat merilis sumber daya grafis.

Versi 1.4.4 (1.4.231219000)

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

  • Memperbaiki masalah keamanan diagnostik WinUI 3.
  • Memperbaiki masalah input di mana kotak kata sandi tidak menampilkan keyboard di layar saat diaktifkan melalui sentuhan. Untuk informasi selengkapnya, lihat Masalah GitHub #8946.
  • Memperbaiki masalah yang menyebabkan Microsoft.UI.Xaml.Controls.dll ukuran file tumbuh secara tak terduga.
  • Memperbaiki CommandBarFlyout masalah yang dapat menyebabkan crash saat mengatur fokus.
  • Dukungan SDK Aplikasi Windows yang diperbarui untuk penanganan aset khusus RID .NET 8.
  • Memperbaiki masalah yang menyebabkan beberapa swapchain diposisikan atau direntangkan dengan tidak benar.

Versi 1.4.3 (1.4.231115000)

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

  • Memperbaiki masalah di mana menu dapat muncul tanpa latar belakang untuk waktu yang singkat.
  • Memperbaiki crash yang mungkin terjadi dalam skenario multi-monitor tertentu.
  • Memperbaiki masalah di mana menu konteks dapat muncul di luar layar.
  • Memperbaiki masalah dengan gaya Jendela dan memaksimalkan perilaku. Untuk informasi selengkapnya, lihat Masalah GitHub #8996.
  • Memperbaiki masalah dengan Kepulauan di mana fokus dapat secara tak terduga diambil dari kontrol lain.
  • Memperbaiki masalah dengan urutan tab pada NavigationView.
  • Memperbaiki masalah penyajian di mana bilah putih mungkin terlihat di bagian atas bilah judul. Untuk informasi selengkapnya, lihat Masalah GitHub #8947.
  • Berbagai perbaikan performa.

Versi 1.4.2 (1.4.231008000)

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

  • Memperbaiki masalah crash di explorer.exe yang disebabkan oleh memori dan alokasi objek yang berlebihan.
  • Memperbaiki masalah interaksi bilah judul yang mencegah tombol kembali berfungsi dengan baik.
  • Memperbaiki masalah yang menyebabkan peringatan dihasilkan untuk file sumber yang disertakan beberapa kali.
  • Memperbaiki masalah yang memengaruhi performa menu konteks.
  • Memperbaiki masalah pintasan .lnk yang membuat target .exe selalu menunjuk ke lokasi yang sama untuk paket di folder WindowsApps.
  • Memperbaiki masalah DWriteCore yang memengaruhi penyajian teks Indic yang tepat dalam font tertentu.
  • Memperbaiki masalah dalam Tampilan Daftar yang mencegah navigasi keyboard yang tepat ke dan dari item terpilih berlapis dengan Tab/Shift + Tab.
  • Memperbaiki masalah yang melanggar pengguliran item ComboBox dengan menyentuh setelah memperluas ComboBox untuk kedua kalinya. Untuk informasi selengkapnya, lihat Masalah GitHub #8831.
  • Memperbaiki masalah di mana paket WinAppSDK tidak menyertakan sumber daya WinUI yang dilokalkan untuk beberapa bahasa.
  • Memperbaiki ketidakkonsistensian antara bagaimana File Explorer dan XAML menampilkan bahasa pilihan pengguna.
  • Memperbaiki masalah pengerjaan di File Explorer yang menyebabkan garis tipis ditampilkan di bawah tab aktif.
  • Memperbaiki masalah di mana beberapa akselerator keyboard yang disediakan kerangka kerja tidak dilokalkan dengan benar. Untuk informasi selengkapnya, lihat Masalah GitHub #2023.
  • Memperbaiki masalah dengan kontrol RepeatButton yang berulang kali digulir saat diketuk.
  • Memperbaiki penginstal WinAppSDK .exe untuk memiliki info versi sumber daya yang tepat.

Versi 1.4.1 (1.4.230913002)

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

  • Memperbaiki masalah performa untuk meningkatkan waktu ke bingkai pertama.
  • Memperbaiki masalah di mana menu tidak menghormati RequestedTheme. Misalnya, dimungkinkan bagi masalah ini untuk mengarah ke teks putih pada latar belakang putih. Untuk informasi selengkapnya, lihat Masalah GitHub #8756.
  • Memperbaiki masalah yang menyebabkan latar belakang akrilik terkadang menjadi sepenuhnya transparan di beberapa menu.
  • Memperbaiki masalah di mana XAML terkadang menyebabkan Windows tidak perlu mengecat ulang wallpaper desktop.
  • Memperbaiki dukungan untuk dan TabNavigation = Cycle untuk TabNavigation = Local ListView dan GridView, yang sekarang memungkinkan navigasi antara header dan item dengan TAB selain tombol panah.
  • Memperbaiki beberapa pengecualian yang berisik saat menutup tipsalat. Untuk informasi selengkapnya, lihat Masalah GitHub #8699.

Fitur baru dan yang diperbarui serta masalah yang diketahui untuk versi 1.4

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

Di aplikasi SDK Aplikasi Windows 1.3 yang ada, Anda dapat memperbarui paket Nuget anda ke 1.4.230822000 (lihat bagian Memperbarui paket di Menginstal dan mengelola paket di Visual Studio menggunakan NuGet Package Manager).

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

Bilah judul kustom + Penggabungan bilah judul AppWindow

Titlebar kustom WinUI 3 menggunakan implementasi titlebar AppWindow, bersama dengan API NonClientInputPointerSource, di bawah kap di SDK Aplikasi Windows 1.4. Akibatnya, kedua implementasi titlebar sekarang berperilaku sama dengan fitur dan batasan yang sama. Ini sepenuhnya kompatibel mundur dalam semua kasus yang didukung - aplikasi apa pun dengan titlebar yang ditentukan khusus akan berperilaku seperti sebelumnya. Tapi, sekarang lebih mudah bagi pengembang WinUI 3 yang mungkin baru menggunakan titlebar kustom untuk memahami dan menggunakannya dengan memanfaatkan fitur baru ini:

  • Skenario default yang lebih baik di mana pengembang tidak menentukan elemen titlebar secara khusus (menggantikan titlebar fallback dari WinUI 2)
  • Wilayah seret yang berbeda di bilah judul, memungkinkan Anda membuat beberapa wilayah seret dan menempatkan kontrol yang dapat diklik di bagian mana pun dari area non-klien (area bilah judul)
  • Wilayah yang dapat diseret di seluruh aplikasi yang dapat diletakkan di mana saja di aplikasi atau membuat seluruh aplikasi dapat diseret
  • Dukungan tema yang lebih baik yang menggantikan tema berbasis sumber daya
    • Karena wilayah seret transparan, wilayah tersebut mengikuti tema aplikasi setiap saat
  • Kustomisasi lainnya: sembunyikan tombol min, maks, dan tutup; tempatkan ikon sistem di bilah judul; atau memiliki wilayah yang berbeda bertindak sebagai tombol keterangan yang menerima respons NCHITTEST
  • Lebih banyak kebebasan pengembang yang memungkinkan Anda untuk mencampur dan mencocokkan dengan API titlebar AppWindow, seperti menggunakan API WinUI 3 tingkat lebih tinggi untuk sebagian besar skenario tetapi dengan API AppWindow dicampur untuk kontrol tingkat bawah

Pembaruan widget

Tiga antarmuka baru telah ditambahkan bagi Penyedia Widget untuk mengimplementasikan: IWidgetProvider2, , IWidgetProviderAnalyticsdan IWidgetProviderErrors. IWidgetProvider2 memungkinkan penyedia untuk menanggapi tindakan Kustomisasi yang dipanggil oleh pengguna, yang identik dengan apa yang tersedia untuk Widget pihak ke-1. Antarmuka IWidgetProviderAnalytics dan IWidgetProviderErrors digunakan oleh penyedia untuk mengumpulkan telemetri untuk widget mereka; peristiwa analitik dan kegagalan tentang widget dikomunikasikan ke masing-masing penyedia widget. Kelas WidgetCustomizationRequestedArgs, WidgetAnalyticsInfoReportedArgs, dan WidgetErrorInfoReportedArgs digunakan untuk mengomunikasikan informasi yang relevan untuk mendukung fungsionalitas baru.

Kepulauan XAML tidak lagi bereksperimen

Kepulauan XAML dan platform ContentIslands yang mendasarinya tidak lagi bereksperimen.

  • Saat ini Kepulauan XAML hanya diuji untuk digunakan di aplikasi C++. Rilis ini tidak termasuk elemen pembungkus yang nyaman untuk digunakan dalam WPF atau WinForms.
  • DesktopWindowXamlSource dan jenis terkait telah ditambahkan di namespace Microsoft.UI.Xaml.Hosting untuk Kepulauan XAML. XamlRoot.ContentIslandEnvironment ditambahkan untuk membantu mengakses informasi Pulau yang mendasar untuk elemen .
  • Banyak jenis baru telah diperkenalkan di namespace Microsoft.UI.Content dan namespace Microsoft.UI.Input sebagai dukungan yang mendasari untuk Kepulauan XAML atau untuk menggunakan fungsionalitas ContentIslands ini tanpa XAML.
  • Namespace layanan baru DragDropManager (plus jenis terkait) telah ditambahkan di namespace Microsoft.UI.Input.DragDrop untuk skenario Island.

ItemTampilan

Kami memperkenalkan kontrol daftar baru yang disebut ItemsView dan kelas konkret ItemContainer yang sesuai. ItemContainer adalah kontainer ringan dengan status dan visual pilihan bawaan, yang dapat dengan mudah membungkus konten yang diinginkan dan digunakan dengan ItemsView untuk skenario kontrol koleksi.

  • Kontrol baru ItemsView menampilkan pengumpulan data. ItemsViewmirip ListView dengan kontrol dan GridView , tetapi dibangun menggunakan ItemsRepeaterkomponen , , ScrollViewItemContainer dan ItemCollectionTransitionProvider . Ini menawarkan kemampuan unik untuk mencolokkan kustom Layout atau ItemCollectionTransitionProvider implementasi. Keuntungan utama lainnya adalah kemampuan untuk mengalihkan tata letak dengan cepat sambil mempertahankan pilihan item. Kontrol dalam ScrollView juga menawarkan fitur yang tidak tersedia dalamGridViewListView/ScrollViewer kontrol seperti kemampuan untuk mengontrol animasi selama gulungan terprogram.
    • Properti baru ItemTransitionProvider pada ItemsRepeater (dan kontrol baru ItemsView ) memungkinkan Anda menentukan ItemCollectionTransitionProvider objek untuk mengontrol animasi transisi pada kontrol tersebut. Metode CreateDefaultItemTransitionProvider juga telah ditambahkan ke Layout, yang memungkinkan objek tata letak untuk menyediakan transisi fallback untuk menyertainya jika Anda tidak menyediakannya secara eksplisit pada ItemsView kontrol.
    • Properti baru IndexBasedLayoutOrientation tempat Layout orientasi tata letak, jika ada, item didasarkan pada indeksnya dalam kumpulan sumber. Nilai defaultnya adalah IndexBasedLayoutOrientation.None. Tata letak kustom mengatur properti ini dengan memanggil metode baru (dilindungi). SetIndexBasedLayoutOrientation
    • Properti baru VisibleRect pada VirtualizingLayoutContext mendapatkan persegi panjang viewport yang terlihat dalam yang FrameworkElement terkait dengan Layout. Metode virtual VirtualizingLayoutContext.VisibleRectCore yang dilindungi dapat ditimpa untuk memberikan nilai yang akan dikembalikan dari VisibleRect properti .
  • Kelas baru LinedFlowLayout biasanya digunakan untuk menjabarkan item ItemsView kontrol koleksi. Ini sangat berguna untuk menampilkan koleksi gambar. Itu melakukannya dengan meletakkannya dari kiri ke kanan, dan atas ke bawah, dalam garis tinggi yang sama. Gambar mengisi garis horizontal lalu membungkus ke baris berikutnya. Gambar dapat dipotong di tepi kiri dan kanan agar pas ke dalam garis. Mereka juga dapat diperluas secara horizontal dan dipangkas di tepi atas dan bawah untuk mengisi garis ketika mode peregangan digunakan.

Fitur baru dari seluruh WinAppSDK

  • Kelas baru ThemeSettings yang memungkinkan aplikasi Win32 WinRT mendeteksi kapan pengaturan Kontras Tinggi sistem telah berubah, mirip dengan kelas AccessibilitySettings UWP. Lihat spesifikasi API ThemeSettings di GitHub untuk informasi selengkapnya.
  • AccessKeyManager.EnterDisplayMode adalah metode baru untuk menampilkan kunci akses untuk elemen terfokus saat ini dari akar yang disediakan. Tombol akses berada dalam "mode tampilan" saat menampilkan tip tombol untuk memanggil perintah, seperti menekan tombol Alt di Paint untuk menampilkan tombol apa yang sesuai dengan kontrol apa. Metode ini memungkinkan untuk memasukkan mode tampilan secara terprogram.
  • Application.ResourceManagerRequested menyediakan mekanisme untuk menyediakan yang berbeda IResourceManager untuk mengatasi URI sumber daya untuk skenario saat default ResourceManager tidak akan berfungsi. Untuk informasi selengkapnya, lihat spesifikasi API Application.ResourceManagerRequested di GitHub.
  • Versi WebView2 SDK diperbarui dari 1661.34 ke 1823.32.
  • Popup/FlyoutBase.IsConstrainedToRootBounds = false sekarang didukung, memungkinkan popup/flyout untuk meluas di luar batas jendela induk. Properti SystemBackdrop telah ditambahkan ke jenis ini untuk mendukung akrilik dalam popup yang tidak dibatasi ini. Menu secara default gunakan ini untuk memiliki akrilik.
  • Closed, FrameworkClosed, dan IsClosed telah ditambahkan ke DesktopAcrylicController dan MicaController untuk meningkatkan penanganan selama pematian objek/utas.
  • DesktopAcrylicController.Kind sekarang dapat diatur untuk memilih antara beberapa penampilan akrilik standar.
  • DispatcherQueue memiliki beberapa peristiwa dan pembantu baru untuk memfasilitasi penonaktifan yang lebih terorganisir dan untuk aplikasi yang menggunakan Kepulauan untuk menjalankan perulangan peristiwa yang didukung standar dengan mudah.
  • InputNonClientPointerSource di namespace Microsoft.UI.Input dapat digunakan untuk skenario titlebar kustom untuk menentukan wilayah area non-klien. Kode dapat mendaftar untuk peristiwa yang sesuai seperti arahkan kumparan dan mengeklik peristiwa di wilayah ini.
  • AppWindow memiliki beberapa pembantu baru untuk mendapatkan dan mengaitkan dengan DispatcherQueue.
  • Peristiwa baru TreeView.SelectionChanged memungkinkan pengembang merespons ketika pengguna atau kode di belakang mengubah kumpulan simpul yang dipilih dalam TreeView kontrol.
  • Kontrol baru ScrollView menyediakan alternatif baru untuk ScrollViewer. Kontrol baru ini sangat selaras dalam perilaku dan API dengan kontrol yang ada ScrollViewer , tetapi didasarkan pada InteractionTracker, memiliki fitur baru seperti perubahan tampilan berbasis animasi, dan juga dirancang untuk memastikan fungsionalitas ItemsRepeaterpenuh . Lihat ScrollViewer yang lebih fleksibel · Masalah #108 · microsoft/microsoft-ui-xaml (github.com) untuk detail selengkapnya. Berbagai jenis baru, termasuk ScrollPresenter, adalah bagian dari model keseluruhan ScrollView .
  • Kontrol baru AnnotatedScrollBar memperluas fungsionalitas bilah gulir reguler dengan menyediakan cara mudah untuk menavigasi melalui kumpulan item yang besar. Ini dicapai melalui rel yang dapat diklik dengan label yang bertindak sebagai penanda. Ini juga memungkinkan pemahaman yang lebih terperinci tentang konten yang dapat digulir dengan menampilkan tipsalat saat melayang di atas rel yang dapat diklik.

Masalah umum

Perbaikan bug

  • Memperbaiki masalah saat memanggil Microsoft.Windows.AppLifecycle.AppInstance.Restart("") API menyebabkan aplikasi yang tidak dikemas mengalami crash. Untuk informasi selengkapnya, lihat Masalah GitHub #2792.
  • Memperbaiki masalah crash penginstal yang diperkenalkan dalam 1.4-eksperimental1. Untuk informasi selengkapnya, lihat Masalah GitHub #3760.
  • Memperbaiki masalah di mana coretan teks tidak dihapus dengan benar dalam TextBlock. Untuk informasi selengkapnya, lihat Masalah GitHub #1093.
  • Memperbaiki masalah yang menyebabkan navigasi Shift + Tab yang salah di Panel dengan TabFocusNavigation diatur ke "Sekali." Untuk informasi selengkapnya, lihat Masalah GitHub #1363.
  • Memperbaiki masalah di C++/WinRT yang mencegah {x:Bind} bekerja dengan baik dengan properti kontrol XAML bernama. Untuk informasi selengkapnya, lihat Masalah GitHub #2721.
  • Memperbaiki masalah AccessViolation runtime di aplikasi WinUI Desktop yang disebabkan oleh pengaturan DebugSettings.EnableFrameRateCounter = true. Untuk informasi selengkapnya, lihat Masalah GitHub #2835.
  • Memperbaiki masalah saat XamlTypeInfo.g.cpp tidak menyertakan header yang diperlukan. Untuk informasi selengkapnya, lihat Masalah GitHub #4907.
  • Memperbaiki masalah crash yang disebabkan oleh input multi-sentuhan dan mouse secara bersamaan. Untuk informasi selengkapnya, lihat Masalah GitHub #7622.
  • Memperbaiki masalah yang mencegah jendela aplikasi WinUI 3 aktif menggulir ketika pengaturan sistem untuk menonaktifkan pengguliran jendela tidak aktif pada mouse over berlaku. Untuk informasi selengkapnya, lihat Masalah GitHub #8764.
  • Memperbaiki crash saat mencoba subkelas MediaPlayerElement.
  • Memperbaiki beberapa masalah crash dan kebocoran memori di TreeView.
  • Memperbaiki masalah hang aplikasi yang dapat terjadi saat menggunakan keyboard untuk menavigasi di RadioButtons.
  • Memperbaiki crash saat menggunakan keyboard untuk menavigasi dalam PipsPager.
  • Memperbaiki konten WebView2 untuk diskalakan dengan pengaturan Aksesibilitas "Ukuran teks" di aplikasi Pengaturan.
  • Memperbaiki crash yang dapat terjadi ketika animasi berjalan ketika tampilan dimatikan.
  • Memperbaiki masalah performa yang diperkenalkan dalam 1,3 yang menambahkan overhead ~10% ke tata letak/render pertama.