Microsoft Windows UI Library 3 Preview 4 را منتشر کرد
9 دقیقه خواندن
منتشر شده در
صفحه افشای ما را بخوانید تا بدانید چگونه می توانید به MSPoweruser کمک کنید تا تیم تحریریه را حفظ کند ادامه مطلب
WinUI یک لایه رابط کاربری است که شامل کنترلها و سبکهای مدرن برای ساخت برنامههای ویندوز، هم دسکتاپ و هم UWP است. به عنوان لایه بومی UI در ویندوز، Fluent Design را در بر می گیرد و به هر برنامه ویندوز حس زیبایی را می دهد که کاربران انتظار دارند.
[lwptoc title=”پیش نمایش WinUI Library 3 4″ width=”40%” float=”right”]
WinUI 3 آخرین نسخه فریمورک WinUI است که در اواخر امسال ارسال می شود. این به طور چشمگیری WinUI را به یک چارچوب کامل UX گسترش می دهد و WinUI را برای همه انواع برنامه های ویندوز - از Win32 تا UWP - برای استفاده به عنوان لایه UI در دسترس قرار می دهد. در صورت آماده شدن، هر برنامه ویندوزی میتواند از کنترلهای مدرن خود استفاده کند که بدون توجه به نسخه ویندوزی که روی آن اجرا میشود، کار میکنند.
امروز منتشر شد پیش نمایش WinUI 3 4 یک نسخه پیشنمایش پایداری است که شامل رفع اشکالات مهم و سایر پیشرفتهای کلی برای چارچوب است.
قابلیت های معرفی شده در پیش نمایش 4
- برابری با WinUI 2.5 (شامل کنترل InfoBar، ویژگی های جدید در ProgressRing و NavigationView و رفع اشکال)
- قابلیتهای نوار عنوان سفارشی: APIهای Window.ExtendsContentIntoTitleBar و Window.SetTitleBar جدید که به توسعهدهندگان اجازه میدهند نوار عنوان سفارشی را در برنامههای دسکتاپ ایجاد کنند.
- پشتیبانی از VirtualSurfaceImageSource
ویژگیها و قابلیتهای جدیدی که در پیشنمایشهای WinUI 3 گذشته معرفی شدهاند
ویژگی ها و قابلیت های زیر در WinUI 3 Preview 1-3 معرفی شدند و همچنان در WinUI 3 Preview 4 پشتیبانی می شوند.
- امکان ایجاد برنامه های دسکتاپ با WinUI از جمله دات نت 5 برای برنامه های Win32
- RadialGradientBrush
- به روز رسانی TabView
- بهروزرسانیهای تم تیره
- بهبود و به روز رسانی به webview2
- پشتیبانی از DPI بالا
- پشتیبانی از تغییر اندازه و جابجایی پنجره
- برای هدف قرار دادن نسخه جدیدتر Edge به روز شد
- دیگر نیازی به ارجاع به بسته Nuget ویژه WebView2 نیست
- پنل SwapChain
- پشتیبانی از MRT Core
- این باعث میشود برنامهها در هنگام راهاندازی سریعتر و سبکتر شوند و جستجوی سریعتر منابع را فراهم میکند.
- پشتیبانی ARM64
- داخل و خارج برنامه ها را بکشید و رها کنید
- RenderTargetBitmap (در حال حاضر فقط محتوای XAML – بدون محتوای SwapChainPanel)
- پشتیبانی از مکان نما سفارشی
- ورودی خارج از رشته
- پیشرفت های تجربه ابزار و توسعه دهنده ما:
- Live Visual Tree ، Hot Reload ، Live Property Explorer و ابزارهای مشابه
- Intellisense برای WinUI 3
- بهبودهای مورد نیاز برای مهاجرت منبع باز
برای اطلاعات بیشتر در مورد مزایای WinUI 3 و نقشه راه WinUI، به ادامه مطلب مراجعه کنید نقشه راه کتابخانه رابط کاربری ویندوز در GitHub.
لیست اشکالات رفع شده در پیش نمایش 4
در زیر لیستی از باگهای کاربر که تیم از پیشنمایش 3 رفع کردهاند، در زیر آمده است. همچنین کارهای زیادی روی تثبیتسازی و بهبود تستهای ما انجام شده است.
- این نسخه نسخه جدیدی از CS/WinRT و Windows SDK را به خود اختصاص داده است که باگ های زیر را برطرف کرده است:
- هنگام اتصال به یک ویژگی URI با استفاده از {Binding} خراب می شود
- توابع C#/WinRT Marshal به درستی با NET 5 کار نمی کند
- WinUI 3 هنگام اجرا بر روی Windows Insider Builds خراب می شود
- با تشکر از مشارکت کنندگان متعدد انجمن برای گزارش این اشکال در GitHub!
- WebView2 زبان/محلی برنامه میزبان را در CoreWebView2Environment اعمال نمی کند
- Windows Community Toolkit Control DataGrid برنامه را در شروع/زمانی که نوارهای پیمایش ظاهر میشوند خراب میکند
- با تشکر از مشارکت کنندگان متعدد انجمن برای گزارش این اشکال در GitHub!
- هنگامی که حالت نمایش تغییر می کند، رندر صفحه در وضعیت بدی قرار می گیرد
- هنگام استفاده از زبان ComboBox در CalendarView خراب می شود
- WinUI 3 Desktop: نمی توان از WebView2 تب کرد
- WinUI 3 Desktop: TreeView با TreeViewNodes مشتق شده خراب می شود
- WinUI 3 Desktop: امکان وارد کردن متن به TextBox در داخل ContentDialog وجود ندارد
- WinUI 3 Desktop: ALT و F6 کار نمی کنند
- SwapChainPanel قدیمی حذف شده در بالای SwapChain جدید رندر می شود
- WinUI 3 Desktop: با ترک پد نمی توان پیمایش کرد
- هنگام استفاده از کنترل NavigationView با چندین پنجره در یک رشته، خراب می شود
- مشکل دسترسی: نشان دادن فوکوس مستقیم در راه اندازی برنامه دسکتاپ WinUI
- نقض دسترسی هنگام پیمایش در DataGrid
- WinUI 3 Desktop: چرخه تب کار نمی کند
- کشیدن و رها کردن در GridView در برنامه دسکتاپ با WinUI Xaml Islands ناموفق است
- مشکل دسترسپذیری: نمیتوان با کلیدهای PageUp/PageDown در دسکتاپ WinUI 3 پیمایش کرد
- اندازه WebView2 اشتباه است
- WebView2 با کلیک پس از باز کردن MenuFlyout از کار می افتد
- WinUI 3 Desktop: تلاش برای از بین بردن DropDownButton یا Flyout SplitButton باعث از کار افتادن برنامه می شود
- WebView2: دوبار کلیک راست روی ماوس باعث خرابی می شود
- با کلیک بر روی ToggleSplitButton باعث از کار افتادن برنامه می شود
- WinUI 3 Desktop: پنجره خالی دسکتاپWindowXamlSource در نوار وظیفه قابل مشاهده است
- WinUI 3 Desktop: DataGrid نمایش داده نمی شود
- WinUI 3 Desktop: نمی توان فایل ها را روی Grid رها کرد
- WinUI 3 Desktop: ItemsRepeater در WinUI 3 Preview 2 خراب می شود
- AccessViolationException هنگام بهروزرسانی پیوندها پرتاب میشود
- WinUI 3 Desktop: برنامه در اسکرول NavigationView خراب می شود
- ItemsControl هنگام افزودن یا حذف پویا موارد در مجموعه ItemsSource خود به روز نمی شود.
- اگر C++ Conformance Mode فعال باشد، خطای C2760 را در App.xaml.gh کامپایل کنید.
محدودیت ها و مسائل شناخته شده
نسخه Preview 4 به سادگی یک پیش نمایش با اشکالات، محدودیت ها و سایر مسائل مربوط به سناریوهای اطراف برنامه های دسکتاپ است که به خصوص جدید هستند.
موارد زیر برخی از مشکلات شناخته شده WinUI 3 Preview 4 هستند.
ابزارهای برنامه نویسی
- فقط برنامه های C# و C++/WinRT پشتیبانی می شوند
- برنامه های دسکتاپ از دات نت 5 و سی شارپ 9 پشتیبانی می کنند و باید در یک برنامه MSIX بسته بندی شوند.
- برنامه های UWP از NET Native و C# 7.3 پشتیبانی می کنند
- ابزارهای توسعه دهنده و Intellisense ممکن است در ویژوال استودیو نسخه 16.8 به درستی کار نکنند.
- بدون پشتیبانی XAML Designer
- برنامههای جدید C++/CX پشتیبانی نمیشوند، با این حال، برنامههای موجود شما به کار خود ادامه میدهند (لطفا در اسرع وقت به C++/WinRT بروید)
- پشتیبانی از چندین پنجره در برنامه های دسکتاپ در حال انجام است، اما هنوز کامل و پایدار نیست.
- اگر مشکلات یا رگرسیون جدیدی با رفتار چند پنجره ای پیدا کردید، لطفاً یک اشکال در مخزن ما ثبت کنید.
- استقرار دسک تاپ بسته بندی نشده پشتیبانی نمی شود
- هنگام اجرای یک برنامه دسکتاپ با استفاده از F5، مطمئن شوید که پروژه بسته بندی را اجرا می کنید. با زدن F5 در پروژه برنامه، یک برنامه بدون بسته بندی اجرا می شود که WinUI 3 هنوز از آن پشتیبانی نمی کند.
ویژگی های پلت فرم از دست رفته است
- پشتیبانی از ایکس باکس
- پشتیبانی از هولولنز
- پنجره های بازشو
- بیشتر به طور خاص،
ShouldConstrainToRootBounds
ویژگی همیشه به گونه ای عمل می کند که گویی تنظیم شده استtrue
، صرف نظر از ارزش ملک.
- بیشتر به طور خاص،
- پشتیبانی از جوهر
- آکریلیک
- MediaElement و MediaPlayerElement
- MapControl
- RenderTargetBitmap برای SwapChainPanel و محتوای غیر XAML
- SwapChainPanel از شفافیت پشتیبانی نمی کند
- Global Reveal از رفتار بازگشتی استفاده می کند، یک قلم موی محکم
- جزایر XAML در این نسخه پشتیبانی نمی شود
- کتابخانه های اکوسیستم شخص ثالث به طور کامل کار نخواهند کرد
- IME ها کار نمی کنند
مشکلات شناخته شده
- Alt+F4 پنجره های برنامه دسکتاپ را نمی بندد.
- به دلیل تغییرات با CoreWindow، API های WinRT زیر ممکن است دیگر با آنها کار نکنند دسکتاپ برنامه ها همانطور که انتظار می رود:
ApplicationView
و همه API های مرتبط دیگر کار نخواهند کرد.CoreApplicationView
و همه API های مرتبط دیگر کار نخواهند کرد.- معرفی
GetForCurrentView
برای مثال ممکن است API ها پشتیبانی نشوندCoreInputView.GetForCurrentView
. CoreWindow.GetForCurrentThread
اکنون null برمیگرداند.
برای کسب اطلاعات بیشتر در مورد استفاده از WinRT API در برنامه دسکتاپ WinUI 3 خود، رجوع کنید Windows Runtime API های موجود برای برنامه های دسکتاپ.
- Windows.UI.ViewManagement.UISettings.ColorValuesChand Event دیگر در برنامه های دسکتاپ پشتیبانی نمی شود. اگر از آن برای تشخیص تغییرات در تم های ویندوز استفاده می کنید، ممکن است مشکلاتی ایجاد کند.
- این نسخه شامل برخی از APIهای آزمایشی است. اینها به طور کامل توسط تیم آزمایش نشده اند و ممکن است مشکلات ناشناخته ای داشته باشند. لطفا یک اشکال را ثبت کنید اگر با مشکلی مواجه شدید در مخزن ما.
- قبلاً برای دریافت نمونه CompositionCabilities تماس می گرفتید CompositionCapabilites.GetForCurrentView(). با این حال، قابلیت های بازگشت از این تماس بود نه وابسته به دید برای رسیدگی و بازتاب این موضوع، ما استاتیک ()GetForCurrentView را در این نسخه حذف کردهایم، بنابراین اکنون میتوانید یک قابلیت های ترکیب به طور مستقیم اعتراض کنید
- برای برنامههای C# UWP: چارچوب WinUI 3 مجموعهای از مؤلفههای WinRT است که میتوان از C++ (با استفاده از C++/WinRT) یا C# استفاده کرد. هنگام استفاده از C#، بسته به مدل برنامه دو نسخه از دات نت وجود دارد: هنگام استفاده از WinUI 3 در یک برنامه UWP، شما از NET Native استفاده می کنید. هنگام استفاده در یک برنامه دسکتاپ که از .NET 5 (و C#/WinRT) استفاده می کنید. هنگام استفاده از C# برای برنامه WinUI 3 در UWP، چند تفاوت فضای نام API در مقایسه با C# در برنامه WinUI 3 Desktop یا C# وجود دارد. برنامه WinUI 2: برخی از انواع در الف هستند
Microsoft
فضای نام به جای الفSystem
فضای نام به عنوان مثال، به جایINotifyPropertyChanged
رابط قرار گرفتن درSystem.ComponentModel
فضای نام، آن را درMicrosoft.UI.Xaml.Data
namespace. این برای:INotifyPropertyChanged
(و انواع مرتبط)INotifyCollectionChanged
ICommand
La
System
نسخههای فضای نام هنوز وجود دارند، اما نمیتوانند با WinUI 3 استفاده شوند. این به این معنی استObservableCollection
در برنامه های WinUI 3 C# UWP همانطور که هست کار نمی کند. برای راه حل، نگاه کنید به CollectionsInterop نمونه در نمونه گالری XAML Controls.
چه اتفاقی می افتد بعدی؟
توسعه دهندگان می توانند به جزئیات مایکروسافت نگاه کنند ویژگی نقشه راه برای اینکه ببینید چه زمانی ویژگی های خاص به WinUI 3 آورده می شود.
WinUI 3 Preview 4 را نصب کنید
WinUI 3 Preview 4 شامل قالبهای پروژه ویژوال استودیو برای کمک به شروع ساخت برنامهها با رابط کاربری مبتنی بر WinUI و یک بسته NuGet است که شامل کتابخانههای WinUI است. برای نصب WinUI 3 Preview 4، این مراحل را دنبال کنید.
جعبه ابزار جامعه ویندوز
اگر از Windows Community Toolkit استفاده می کنید، آخرین نسخه را دانلود کنید.
به غیر از محدودیت ها و مسائل شناخته شده، ساختن یک برنامه با استفاده از پروژه های WinUI شبیه ساختن یک برنامه UWP با XAML و WinUI 2.x است. بنابراین، بسیاری از اسناد راهنمایی برای برنامه های UWP و Windows.UI فضاهای نام WinRT در Windows SDK قابل اجرا است.
برای اطلاعات بیشتر در مورد شروع کار با قالب های پروژه WinUI، به مقالات زیر مراجعه کنید:
یک سند مرجع API برای این نسخه به زودی ارائه می شود، اما در عین حال، توسعه دهندگان می توانند به آن نگاه کنند مستندات مرجع WinUI 3 API برای Preview 3.
اگر پروژه ای را با استفاده از WinUI 3 Preview 3 ایجاد کرده اید، می توانید پروژه خود را برای استفاده از Preview 4 ارتقا دهید. مخزن WinUI GitHub برای دستورالعمل های دقیق
برای استفاده از آخرین ویژگی های ابزار اضافه شده به WinUI 3 Preview 4 مانند Hot Reload، Live Visual Tree و Live Property Explorer، باید از آخرین نسخه پیش نمایش ویژوال استودیو با آخرین پیش نمایش WinUI 3 استفاده کنید و حتماً آن را فعال کنید. ابزار WinUI در ویژگی های پیش نمایش ویژوال استودیو، همانطور که در توضیح داده شده است دستورالعمل ها در اینجا.
گالری XAML Controls (شاخه WinUI 3 Preview 4)
مشاهده WinUI 3 Preview 4 شاخه ای از گالری XAML Controls برای یک برنامه نمونه که شامل تمام کنترل ها و ویژگی های WinUI 3 Preview 4 است.
نمونه ای از برنامه WinUI 3 Preview 4 XAML Controls Gallery
این نسخه پیش نمایش WinUI 3 برای ارزیابی اولیه و جمع آوری بازخورد از جامعه توسعه دهندگان در نظر گرفته شده است. باید نه برای برنامه های تولیدی استفاده شود. مایکروسافت به ارسال نسخه های پیش نمایش WinUI 3 تا سال 2021 ادامه خواهد داد و به دنبال آن اولین نسخه رسمی پشتیبانی شده در مارس 2021 عرضه خواهد شد.
لطفا استفاده کنید مخزن WinUI GitHub برای ارائه بازخورد و ثبت پیشنهادات و مشکلات.