Microsoft, Windows UI Kitaplığı 3 Önizleme 4'ü yayınladı

Okuma zamanı simgesi 9 dk. okuman


Okuyucular MSpoweruser'ı desteklemeye yardımcı olur. Bağlantılarımız aracılığıyla satın alırsanız komisyon alabiliriz. Araç İpucu Simgesi

MSPoweruser'ın editör ekibini ayakta tutmasına nasıl yardımcı olabileceğinizi öğrenmek için açıklama sayfamızı okuyun. Daha fazla

Winui 3

WinUI, hem Masaüstü hem de UWP olmak üzere Windows uygulamaları oluşturmak için modern kontroller ve stiller içeren bir kullanıcı arabirimi katmanıdır. Windows'taki yerel UI katmanı olarak, Fluent Design'ı bünyesinde barındırır ve her Windows uygulamasına kullanıcıların beklediği parlak hissi verir.

[lwptoc title=”WinUI Library 3 Önizleme 4″ genişlik=”%40” kayan nokta=”sağ”]

WinUI 3, WinUI çerçevesinin en son sürümüdür ve bu yıl içinde piyasaya çıkacaktır. WinUI'yi çarpıcı bir şekilde tam bir UX çerçevesine genişleterek WinUI'yi, UI katmanı olarak kullanım için Win32'den UWP'ye kadar her tür Windows uygulaması için kullanılabilir hale getirir. Hazır olduğunda, her Windows uygulaması, üzerinde çalıştıkları Windows sürümünden bağımsız olarak çalışan modern denetimlerinden yararlanabilecektir.

Bugün yayınlandı, WinUI 3 Önizleme 4 çerçeve için kritik hata düzeltmelerini ve diğer genel iyileştirmeleri içeren bir kararlılık önizleme sürümüdür.

Önizleme 4'te sunulan özellikler

  • WinUI 2.5 ile eşlik (Bilgi Çubuğu denetimi, ProgressRing ve NavigationView'daki yeni özellikler ve hata düzeltmeleri içerir)
  • Özel başlık çubuğu özellikleri: Geliştiricilerin Masaüstü uygulamalarında özel başlık çubukları oluşturmasına olanak tanıyan yeni Window.ExtendsContentIntoTitleBar ve Window.SetTitleBar API'leri.
  • VirtualSurfaceImageSource desteği

Geçmiş WinUI 3 Önizlemelerinde tanıtılan yeni özellikler ve yetenekler

Aşağıdaki özellikler ve yetenekler WinUI 3 Önizleme 1-3'te tanıtıldı ve WinUI 3 Önizleme 4'te desteklenmeye devam ediyor.

  • Dahil olmak üzere WinUI ile Masaüstü uygulamaları oluşturma yeteneği .NET 5 Win32 uygulamaları için
  • RadyalGradientFırça
  • TabView güncellemeleri
  • Karanlık tema güncellemeleri
  • İyileştirmeler ve güncellemeler Web Görünümü2
    • Yüksek DPI Desteği
    • Pencere yeniden boyutlandırma ve taşıma desteği
    • Edge'in daha yeni sürümünü hedeflemek için güncellendi
    • WebView2'ye özgü Nuget paketine başvurmak artık gerekli değil
  • Takas Zinciri Paneli
  • MRT Çekirdek Desteği
    • Bu, uygulamaları başlangıçta daha hızlı ve daha hafif hale getirir ve daha hızlı kaynak araması sağlar.
  • ARM64 Desteği
  • Uygulamaların içine ve dışına sürükleyip bırakın
  • RenderTargetBitmap (şu anda yalnızca XAML içeriği – SwapChainPanel içeriği yok)
  • Özel imleç desteği
  • Konu dışı giriş
  • Takım / geliştirici deneyimimizdeki iyileştirmeler:
    • Canlı Görsel Ağaç, Hızlı Yeniden Yükleme, Canlı Özellik Gezgini ve benzer araçlar
    • WinUI 3 için Intellisense
  • Açık kaynak geçişi için gerekli iyileştirmeler

Hem WinUI 3'ün faydaları hem de WinUI yol haritası hakkında daha fazla bilgi için bkz. Windows UI Kitaplığı Yol Haritası GitHub'da.

Önizleme 4'te düzeltilen hataların listesi

Aşağıda, Önizleme 3'ten bu yana ekibin düzelttiği, kullanıcıya yönelik hataların bir listesi bulunmaktadır. Ayrıca, stabilizasyonu çevreleyen ve testlerimizi iyileştiren birçok çalışma yapılmıştır.

  • Bu sürüm, aşağıdaki hataları gideren CS/WinRT ve Windows SDK'nın yeni bir sürümünü almıştır:
    • {Binding} kullanılarak bir URI özelliğine bağlanırken kilitlenme
    • C#/WinRT Marshal işlevleri .NET 5 ile doğru şekilde birlikte çalışmıyor
  • Windows Insider Builds üzerinde çalışırken WinUI 3 kilitleniyor
    • Bu hatayı GitHub'da bildirdikleri için birden fazla topluluk katkısına teşekkür ederiz!
  • WebView2, ana bilgisayar uygulamasının Dilini/yerel ayarını CoreWebView2Environment'a uygulamıyor
  • Windows Community Toolkit DataGrid denetimi, başlangıçta/kaydırma çubukları göründüğünde uygulamayı çökertiyor
    • Bu hatayı GitHub'da bildirdikleri için birden fazla topluluk katkısına teşekkür ederiz!
  • Görüntüleme modu değiştiğinde sayfa oluşturma kötü bir duruma giriyor
  • CalendarView'da Dil ComboBox kullanırken kilitlenme
  • WinUI 3 Desktop: WebView2'den sekme yapılamıyor
  • WinUI 3 Desktop: Türetilmiş TreeViewNodes çökmeleriyle TreeView
  • WinUI 3 Masaüstü: ContentDialog içinde Metin Kutusuna Metin Girilemiyor
  • WinUI 3 Masaüstü: ALT ve F6 çalışmıyor
  • Eski kaldırılan SwapChainPanel, yeni SwapChain'in üzerine işliyor
  • WinUI 3 Desktop: İzleme dörtgeni ile kaydırılamıyor
  • Aynı iş parçacığında birden çok pencereyle NavigationView denetimi kullanılırken kilitlenme
  • Erişilebilirlik Sorunu: WinUI masaüstü uygulaması başlatıldığında odak doğrusunu göster
  • DataGrid'de kaydırma yaparken erişim ihlali
  • WinUI 3 Desktop: Sekme döngüsü çalışmıyor
  • GridView üzerinde Sürükle ve Bırak, WinUI Xaml Adaları ile masaüstü uygulamasında başarısız oluyor
  • Erişilebilirlik sorunu: WinUI 3 Masaüstünde PageUp/PageDown tuşlarıyla kaydırma yapılamıyor
  • WebView2'nin görüntü alanı boyutu yanlış
  • MenuFlyout'u açtıktan sonra tıklandığında WebView2 kilitleniyor
  • WinUI 3 Desktop: DropDownButton veya SplitButton'un açılır penceresini indirmeye çalışmak, uygulamanın çökmesine neden oluyor
  • WebView2: Fareye çift sağ tıklama çökmeye neden oluyor
  • ToggleSplitButton'a tıklamak uygulamanın çökmesine neden oluyor
  • WinUI 3 Desktop: Görev çubuğunda görünen boş DesktopWindowXamlSource penceresi
  • WinUI 3 Desktop: DataGrid görüntülenmiyor
  • WinUI 3 Desktop: Dosyalar Izgaraya bırakılamıyor
  • WinUI 3 Desktop: WinUI 3 Preview 2'de ItemsRepeater çökmesi
  • Bağlamalar güncellenirken atılan AccessViolationException
  • WinUI 3 Desktop: kaydırma NavigationView üzerinde uygulama çöküyor
  • ItemsSource koleksiyonundaki öğeleri dinamik olarak eklerken veya çıkarırken ItemsControl güncellenmez.
  • C++ Uyumluluk Modu etkinse App.xaml.gh'de C2760 hatasını derleyin

Sınırlamalar ve bilinen sorunlar

Önizleme 4 sürümü, özellikle yeni olan Masaüstü uygulamalarıyla ilgili senaryolarla ilgili hataları, sınırlamaları ve diğer sorunları içeren bir önizlemedir.

Aşağıdaki öğeler, WinUI 3 Preview 4 ile ilgili bilinen sorunlardan bazılarıdır.

Geliştirici araçları

  • Yalnızca C# ve C++/WinRT uygulamaları desteklenir
  • Masaüstü uygulamaları .NET 5 ve C# 9'u destekler ve bir MSIX uygulamasında paketlenmelidir
  • UWP uygulamaları .NET Native ve C# 7.3'ü destekler
  • Geliştirici araçları ve Intellisense, Visual Studio sürüm 16.8'de düzgün çalışmayabilir.
  • XAML Tasarımcısı desteği yok
  • Yeni C++/CX uygulamaları desteklenmemektedir, ancak mevcut uygulamalarınız çalışmaya devam edecektir (lütfen mümkün olan en kısa sürede C++/WinRT'ye geçin)
  • Masaüstü uygulamalarında birden çok pencere desteği devam ediyor, ancak henüz tam ve kararlı değil.
    • Çok pencereli davranışa sahip yeni sorunlar veya gerilemeler bulursanız lütfen depomuza bir hata bildirin.
  • Paketlenmemiş masaüstü dağıtımı desteklenmiyor
  • F5 kullanarak bir Masaüstü uygulaması çalıştırırken, paketleme projesini çalıştırdığınızdan emin olun. Uygulama projesinde F5'e basmak, WinUI 3'ün henüz desteklemediği paketlenmemiş bir uygulamayı çalıştıracaktır.

Eksik Platform Özellikleri

  • Xbox desteği
  • HoloLens desteği
  • Pencereli açılır pencereler
    • Daha özel olarak ise, ShouldConstrainToRootBounds özellik her zaman ayarlanmış gibi davranır true, mülk değerinden bağımsız olarak.
  • Mürekkep desteği
  • Akrilik
  • MediaElement ve MediaPlayerElement
  • Harita Kontrolü
  • SwapChainPanel ve XAML dışı içerik için RenderTargetBitmap
  • SwapChainPanel şeffaflığı desteklemiyor
  • Global Reveal, sağlam bir fırça olan geri dönüş davranışını kullanır
  • XAML Adaları bu sürümde desteklenmiyor
  • 3. taraf ekosistem kitaplıkları tam olarak çalışmayacak
  • IME'ler çalışmıyor

Bilinen Sorunlar

  • Alt+F4, Masaüstü uygulaması pencerelerini kapatmaz.
  • İle değişiklikler nedeniyle ÇekirdekPencere, aşağıdaki WinRT API'leri artık çalışmayabilir Masaüstü uygulamalar beklendiği gibi:

    WinUI 3 Masaüstü uygulamanızda WinRT API'lerini kullanma hakkında daha fazla bilgi için, bkz. Masaüstü uygulamaları için kullanılabilen Windows Çalışma Zamanı API'leri.

  • Windows.UI.ViewManagement.UISettings.ColorValuesChanged Olayı artık Masaüstü uygulamalarında desteklenmemektedir. Bu, Windows temalarındaki değişiklikleri algılamak için kullanıyorsanız sorunlara neden olabilir.
  • Bu sürüm, bazı deneysel API'ler içerir. Bunlar ekip tarafından kapsamlı bir şekilde test edilmemiştir ve bilinmeyen sorunlar olabilir. Lütfen hata bildirmek Herhangi bir sorunla karşılaşırsanız depomuzda.
  • Önceden, bir CompositionCapabilities örneği almak için arayacaktınız CompositionCapabilites.GetForCurrentView(). Ancak, bu çağrıdan döndürülen yetenekler değil görünümüne bağlıdır. Bunu ele almak ve yansıtmak için, bu sürümde GetForCurrentView() statikini sildik, böylece şimdi bir KompozisyonYetenekleri doğrudan nesne.
  • C# UWP uygulamaları için: WinUI 3 çerçevesi, C++ (C++/WinRT kullanarak) veya C#'dan kullanılabilen bir dizi WinRT bileşenidir. C# kullanırken, uygulama modeline bağlı olarak .NET'in iki sürümü vardır: WinUI 3'ü bir UWP uygulamasında kullanırken .NET Native kullanıyorsunuz; bir Masaüstü uygulamasında kullanırken .NET 5 (ve C#/WinRT) kullanıyorsunuz. UWP'de bir WinUI 3 uygulaması için C# kullanırken, bir WinUI 3 Masaüstü uygulamasındaki C# veya bir C# ile karşılaştırıldığında birkaç API ad alanı farkı vardır. WinUI 2 uygulaması: bazı türler bir Microsoft ad alanı yerine bir System ad alanı. Örneğin, yerine INotifyPropertyChanged arayüzde olmak System.ComponentModel ad alanı, içinde Microsoft.UI.Xaml.Data ad alanı.Bu, aşağıdakiler için geçerlidir:
    • INotifyPropertyChanged (ve ilgili türler)
    • INotifyCollectionChanged
    • ICommand

    The System ad alanı sürümleri hala mevcuttur, ancak WinUI 3 ile kullanılamaz. ObservableCollection WinUI 3 C# UWP uygulamalarında olduğu gibi çalışmıyor. Bir geçici çözüm için bkz. KoleksiyonlarInterop örneği içinde XAML Kontrolleri Galerisi örneği.

Sırada ne var?

Geliştiriciler, Microsoft'un ayrıntılı özellik yol haritası belirli özelliklerin WinUI 3'e ne zaman getirileceğini görmek için.

WinUI 3 Önizleme 4'ü yükleyin

WinUI 3 Preview 4, WinUI tabanlı bir kullanıcı arabirimiyle uygulamalar oluşturmaya başlamanıza yardımcı olacak Visual Studio proje şablonlarını ve WinUI kitaplıklarını içeren bir NuGet paketini içerir. WinUI 3 Preview 4'ü yüklemek için aşağıdaki adımları izleyin.

Windows Topluluk Araç Seti

Windows Topluluk Araç Seti kullanıyorsanız, en son sürümü indir.

Dışında sınırlamalar ve bilinen sorunlar, WinUI projelerini kullanarak bir uygulama oluşturmak, XAML ve WinUI 2.x ile bir UWP uygulaması oluşturmaya benzer. Bu nedenle, çoğu rehberlik belgeleri UWP uygulamaları ve Windows.UI Windows SDK'daki WinRT ad alanları geçerlidir.

WinUI proje şablonlarını kullanmaya başlama hakkında daha fazla bilgi için aşağıdaki makalelere bakın:

Bu sürüm için bir API referans belgesi yakında geliyor, ancak bu arada geliştiriciler şuna bakabilir: Önizleme 3 için WinUI 3 API referans belgeleri.

WinUI 3 Önizleme 3'ü kullanarak bir proje oluşturduysanız, projenizi Önizleme 4'ü kullanacak şekilde yükseltebilirsiniz. WinUI GitHub deposu detaylı talimatlar için.

Hot Reload, Live Visual Tree ve Live Property Explorer gibi WinUI 3 Preview 4'e eklenen en son araç özelliklerinden yararlanmak için, Visual Studio'nun en son önizleme sürümünü en son WinUI 3 önizlemesiyle birlikte kullanmanız ve etkinleştirdiğinizden emin olmanız gerekir. Visual Studio Önizleme Özellikleri'nde WinUI araçları, buradaki talimatlar.

Bak XAML Kontrolleri Galerisi'nin WinUI 3 Önizleme 4 dalı tüm WinUI 3 Preview 4 kontrollerini ve özelliklerini içeren örnek bir uygulama için.


WinUI 3 Önizleme 4 XAML Kontrolleri Galerisi uygulaması örneği

Bu WinUI 3 önizleme sürümü, erken değerlendirme ve geliştirici topluluğundan geri bildirim toplama amaçlıdır. Olması gerekiyor DEĞİL üretim uygulamaları için kullanılabilir. Microsoft, WinUI 3'ün önizleme sürümlerini 2021'e, ardından Mart 2021'de ilk resmi, desteklenen sürümü göndermeye devam edecek.

Kullanın WinUI GitHub deposu geri bildirim sağlamak ve öneri ve sorunları günlüğe kaydetmek için.

Konular hakkında daha fazla bilgi: geliştiriciler, microsoft, winui 3 önizleme 4