מיקרוסופט משחררת את ספריית ממשק המשתמש של Windows 3 תצוגה מקדימה 4
9 דקות לקרוא
פורסם ב
קרא את דף הגילויים שלנו כדי לגלות כיצד תוכל לעזור ל-MSPoweruser לקיים את צוות העריכה קרא עוד
WinUI היא שכבת ממשק משתמש המכילה פקדים וסגנונות מודרניים לבניית אפליקציות Windows, הן שולחן העבודה והן UWP. כשכבת ממשק המשתמש המקורית ב-Windows, היא מגלמת עיצוב שוטף, ומעניקה לכל אפליקציית Windows את התחושה המהוקצעת שהמשתמשים מצפים לה.
[lwptoc title="ספריית WinUI 3 תצוגה מקדימה 4 אינץ' רוחב="40%" float="right"]
WinUI 3 היא הגרסה האחרונה של מסגרת WinUI, שנשלחת מאוחר יותר השנה. זה מרחיב באופן דרמטי את WinUI למסגרת UX מלאה, מה שהופך את WinUI זמין עבור כל סוגי אפליקציות Windows - מ-Win32 ועד UWP - לשימוש כשכבת ממשק המשתמש. כשתהיה מוכנה, כל אפליקציית Windows תוכל לנצל את הפקדים המודרניים שלה שפועלים ללא קשר לגרסת Windows שבה הם פועלים.
שוחרר היום, WinUI 3 Preview 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
- מברשת RadialGradient
- עדכוני TabView
- עדכוני נושא כהה
- שיפורים ועדכונים ל webview2
- תמיכה ב-High DPI
- תמיכה בשינוי גודל חלון והזזה
- עודכן למיקוד גרסה עדכנית יותר של Edge
- אין עוד צורך להתייחס לחבילת Nuget ספציפית ל-WebView2
- SwapChainPanel
- תמיכת ליבת MRT
- זה הופך את האפליקציות למהיר יותר וקל יותר באתחול ומספק חיפוש משאבים מהיר יותר.
- תמיכה ב- ARM64
- גרור ושחרר בתוך יישומים ומחוצה להם
- RenderTargetBitmap (כרגע רק תוכן XAML - ללא תוכן SwapChainPanel)
- תמיכה בסמן מותאם אישית
- קלט מחוץ לשרשור
- שיפורים בחוויית הכלים / מפתחים שלנו:
- Live Visual Tree, Reload Hot, Live Property Explorer וכלים דומים
- Intellisense עבור WinUI 3
- שיפורים נדרשים עבור העברת קוד פתוח
למידע נוסף על היתרונות של WinUI 3 וגם על מפת הדרכים של WinUI, עיין ב מפת הדרכים של ספריית ממשק המשתמש של Windows ב- GitHub.
רשימת הבאגים שתוקנו בתצוגה מקדימה 4
להלן רשימה של באגים הפונים למשתמשים שהצוות תיקן מאז Preview 3. הייתה גם עבודה רבה סביב ייצוב ושיפור הבדיקות שלנו.
- מהדורה זו קיבלה גרסה חדשה של CS/WinRT ו-Windows SDK, שתיקנו את הבאגים הבאים:
- קריסה בעת קשירה למאפיין URI באמצעות {Binding}
- פונקציות C#/WinRT Marshal אינן פועלות כהלכה עם .NET 5
- WinUI 3 קורס בעת הפעלה על Windows Insider Builds
- תודה למספר תורמים בקהילה שדיווחו על באג זה ב-GitHub!
- WebView2 אינו מחיל את השפה/מקומי של האפליקציה המארח על CoreWebView2Environment
- Windows Community Toolkit DataGrid בקרת האפליקציה קורסת בהתחלה/כאשר מופיעים פסי גלילה
- תודה למספר תורמים בקהילה שדיווחו על באג זה ב-GitHub!
- עיבוד העמודים נכנס למצב רע כאשר מצב התצוגה משתנה
- קריסה בעת שימוש ב- Language 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: ניסיון להפיל את DropDownButton או את ההחלפה של SplitButton גורם לקריסה של אפליקציה
- WebView2: לחיצה ימנית כפולה על העכבר גורמת לקריסה
- לחיצה על ToggleSplitButton גורמת לאפליקציה לקרוס
- WinUI 3 Desktop: חלון DesktopWindowXamlSource ריק גלוי בשורת המשימות
- WinUI 3 Desktop: DataGrid לא מוצג
- WinUI 3 Desktop: לא ניתן לשחרר קבצים ל-Grid
- WinUI 3 Desktop: ItemsRepeater קורס ב-WinUI 3 Preview 2
- AccessViolationException נזרק בעת עדכון כריכות
- WinUI 3 Desktop: האפליקציה קורסת ב-Scroll NavigationView
- ItemsControl לא מתעדכן בזמן הוספה או הסרה דינמית של פריטים באוסף ItemsSource שלו.
- שגיאת קומפילציה C2760 ב-App.xaml.gh אם מצב התאמה של C++ מופעל
מגבלות ונושאים ידועים
מהדורת Preview 4 היא פשוט תצוגה מקדימה עם באגים, מגבלות ובעיות אחרות עם התרחישים סביב אפליקציות שולחן העבודה חדשות במיוחד.
הפריטים הבאים הם חלק מהבעיות הידועות עם WinUI 3 Preview 4.
כלים למפתחים
- רק אפליקציות C# ו-C++/WinRT נתמכות
- אפליקציות שולחן עבודה תומכות ב-.NET 5 ו-C# 9, ויש לארוז אותן באפליקציית MSIX
- אפליקציות UWP תומכות ב-.NET Native וב-C# 7.3
- ייתכן שכלי מפתחים ו-Intellisense לא יפעלו כראוי בגרסה 16.8 של Visual Studio.
- אין תמיכה ב-XAML Designer
- אפליקציות C++/CX חדשות אינן נתמכות, עם זאת, האפליקציות הקיימות שלך ימשיכו לתפקד (נא לעבור ל-C++/WinRT בהקדם האפשרי)
- התמיכה בחלונות מרובים ביישומי שולחן העבודה מתבצעת, אך עדיין לא הושלמה ויציבה.
- אנא שלח באג ב-repo שלנו אם אתה מוצא בעיות חדשות או רגרסיות עם התנהגות מרובה חלונות.
- פריסת שולחן עבודה לא ארוזה אינה נתמכת
- בעת הפעלת אפליקציית שולחן עבודה באמצעות F5, ודא שאתה מפעיל את פרויקט האריזה. לחיצה על F5 בפרויקט האפליקציה תפעיל אפליקציה לא ארוזה, שבה WinUI 3 עדיין לא תומך.
תכונות פלטפורמה חסרות
- תמיכה ב-Xbox
- תמיכת HoloLens
- חלונות קופצים
- ליתר דיוק,
ShouldConstrainToRootBounds
מאפיין תמיד פועל כאילו הוא מוגדר לtrue
, ללא קשר לשווי הנכס.
- ליתר דיוק,
- תמיכת דיו
- אקרילי
- MediaElement ו-MediaPlayerElement
- MapControl
- RenderTargetBitmap עבור SwapChainPanel ותוכן שאינו XAML
- SwapChainPanel אינו תומך בשקיפות
- Global Reveal משתמש בהתנהגות ניתוק, מברשת מוצקה
- איי XAML אינו נתמך במהדורה זו
- ספריות מערכות אקולוגיות של צד שלישי לא יפעלו במלואן
- IMEs לא עובדים
בעיות ידועות
- Alt+F4 אינו סוגר חלונות של אפליקציית שולחן העבודה.
- עקב שינויים עם CoreWindow, ייתכן שממשקי ה-API הבאים של WinRT לא יעבדו יותר שולחן העבודה אפליקציות כצפוי:
ApplicationView
וכל ממשקי ה-API הקשורים לא יפעלו עוד.CoreApplicationView
וכל ממשקי ה-API הקשורים לא יפעלו עוד.- תעשיות
GetForCurrentView
לא ניתן לתמוך בממשקי API, למשלCoreInputView.GetForCurrentView
. CoreWindow.GetForCurrentThread
יחזיר כעת null.
למידע נוסף על שימוש בממשקי WinRT API באפליקציית WinUI 3 Desktop, ראה ממשקי API של Windows Runtime זמינים לאפליקציות שולחן עבודה.
- Windows.UI.ViewManagement.UISettings.ColorValuesChanged Event לא נתמך עוד ביישומי שולחן העבודה. זה עלול לגרום לבעיות אם אתה משתמש בו כדי לזהות שינויים בערכות נושא של Windows.
- מהדורה זו כוללת כמה ממשקי API ניסיוניים. אלה לא נבדקו ביסודיות על ידי הצוות וייתכן שיש להם בעיות לא ידועות. אנא להגיש באג ב-repo שלנו אם אתה נתקל בבעיות כלשהן.
- בעבר, כדי לקבל מופע CompositionCapabilities היית מתקשר CompositionCapabilites.GetForCurrentView(). עם זאת, היכולות שהוחזרו משיחה זו היו לֹא תלוי בנוף. כדי לטפל ולשקף זאת, מחקנו את ה-GetForCurrentView() סטטי במהדורה זו, כך שעכשיו אתה יכול ליצור יכולות קומפוזיציה חפץ ישירות.
- עבור אפליקציות C# UWP: המסגרת של WinUI 3 היא קבוצה של רכיבי WinRT שניתן להשתמש בהם מ-C++ (באמצעות C++/WinRT) או C#. בעת שימוש ב-C#, קיימות שתי גרסאות של NET, בהתאם לדגם האפליקציה: בעת שימוש ב-WinUI 3 באפליקציית UWP אתה משתמש ב-.NET Native; בעת שימוש באפליקציית שולחן עבודה אתה משתמש ב-.NET 5 (ו-C#/WinRT). בעת שימוש ב-C# עבור אפליקציית WinUI 3 ב-UWP, ישנם כמה הבדלים במרחב שמות API בהשוואה ל-C# באפליקציית WinUI 3 Desktop או ב-C# אפליקציית WinUI 2: סוגים מסוימים נמצאים ב-a
Microsoft
מרחב שמות ולא אSystem
מרחב שמות. לדוגמה, במקום הINotifyPropertyChanged
ממשק להיות בSystem.ComponentModel
מרחב השמות, הוא נמצא ב-Microsoft.UI.Xaml.Data
מרחב שמות. זה חל על:INotifyPropertyChanged
(וסוגים קשורים)INotifyCollectionChanged
ICommand
אל האני
System
גרסאות מרחב השמות עדיין קיימות, אך לא ניתן להשתמש בהן עם WinUI 3. זה אומר שObservableCollection
לא עובד כפי שהוא באפליקציות WinUI 3 C# UWP. לעקיפת הבעיה, ראה את CollectionsInterop לדוגמה ב XAML Controls Gallery לדוגמה.
מה יבוא בהמשך?
מפתחים יכולים להסתכל על הפרטים של מיקרוסופט תכונה מפת דרכים כדי לראות מתי תכונות ספציפיות יובאו לתוך WinUI 3.
התקן את WinUI 3 Preview 4
WinUI 3 Preview 4 כולל תבניות פרויקט Visual Studio כדי לעזור להתחיל בבניית אפליקציות עם ממשק משתמש מבוסס WinUI, וחבילת NuGet המכילה את ספריות WinUI. כדי להתקין את WinUI 3 Preview 4, בצע את השלבים הבאים.
ערכת הכלים של קהילת Windows
אם אתה משתמש ב-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, עליך להשתמש בגרסת התצוגה המקדימה העדכנית ביותר של Visual Studio עם התצוגה המקדימה העדכנית ביותר של WinUI 3 ולהקפיד להפעיל כלי WinUI בתכונות התצוגה המקדימה של Visual Studio, כמתואר ב- הוראות כאן.
XAML Controls Gallery (ענף WinUI 3 Preview 4)
ראה סניף WinUI 3 Preview 4 של גלריית הפקדים של XAML עבור אפליקציה לדוגמה הכוללת את כל הפקדים והתכונות של WinUI 3 Preview 4.
דוגמה לאפליקציית WinUI 3 Preview 4 XAML Controls Gallery
מהדורת תצוגה מקדימה זו של WinUI 3 מיועדת להערכה מוקדמת ולאיסוף משוב מקהילת המפתחים. זה אמור לא לשמש עבור אפליקציות ייצור. מיקרוסופט תמשיך לשלוח מהדורות תצוגה מקדימה של WinUI 3 לתוך 2021, ואחריה את המהדורה הרשמית הנתמכת הראשונה במרץ 2021.
אנא השתמש ריפו של WinUI GitHub לספק משוב והצעות יומן ובעיות.