Microsoft phát hành Windows UI Library 3 Preview 4

Biểu tượng thời gian đọc 9 phút đọc


Bạn đọc giúp đỡ ủng hộ MSpoweruser. Chúng tôi có thể nhận được hoa hồng nếu bạn mua thông qua các liên kết của chúng tôi. Biểu tượng chú giải công cụ

Đọc trang tiết lộ của chúng tôi để tìm hiểu cách bạn có thể giúp MSPoweruser duy trì nhóm biên tập Tìm hiểu thêm

WinUI là lớp giao diện người dùng chứa các kiểu và điều khiển hiện đại để xây dựng các ứng dụng Windows, cả Máy tính để bàn và UWP. Là lớp giao diện người dùng gốc trong Windows, nó thể hiện Fluent Design, mang lại cho mỗi ứng dụng Windows cảm giác bóng bẩy mà người dùng mong đợi.

[lwptoc title=”Bản xem trước Thư viện WinUI 3 4″ width=”40%” float=”right”]

WinUI 3 là phiên bản mới nhất của khung WinUI, sẽ ra mắt vào cuối năm nay. Nó mở rộng đáng kể WinUI thành một khung UX đầy đủ, giúp WinUI có sẵn cho tất cả các loại ứng dụng Windows – từ Win32 đến UWP – để sử dụng làm lớp giao diện người dùng. Khi sẵn sàng, mọi ứng dụng Windows sẽ có thể tận dụng các điều khiển hiện đại hoạt động bất kể chúng đang chạy trên phiên bản Windows nào.

Phát hành hôm nay, Xem trước WinUI 3 4 là bản phát hành xem trước độ ổn định bao gồm các bản sửa lỗi quan trọng và các cải tiến chung khác cho khung.

Các khả năng được giới thiệu trong Bản xem trước 4

  • Tính chẵn lẻ với WinUI 2.5 (bao gồm điều khiển InfoBar, các tính năng mới trong ProgressRing và NavigationView cũng như sửa lỗi)
  • Khả năng thanh tiêu đề tùy chỉnh: API Window.ExtendsContentIntoTitleBar và Window.SetTitleBar mới cho phép nhà phát triển tạo thanh tiêu đề tùy chỉnh trong ứng dụng Máy tính để bàn.
  • Hỗ trợ VirtualSurfaceImageSource

Các tính năng và khả năng mới được giới thiệu trong các Bản xem trước WinUI 3 trước đây

Các tính năng và khả năng sau đây đã được giới thiệu trong WinUI 3 Preview 1-3 và tiếp tục được hỗ trợ trong WinUI 3 Preview 4.

  • Khả năng tạo ứng dụng Máy tính để bàn với WinUI, bao gồm .NET 5 cho ứng dụng Win32
  • RadialGradientBàn chải
  • Cập nhật TabView
  • Cập nhật chủ đề tối
  • Những cải tiến và cập nhật cho webview2
    • Hỗ trợ độ phân giải cao
    • Hỗ trợ thay đổi kích thước và di chuyển cửa sổ
    • Đã cập nhật để nhắm mục tiêu phiên bản Edge mới hơn
    • Không còn cần thiết phải tham chiếu gói Nuget dành riêng cho WebView2
  • Hoán ĐổiChuỗiBảng Điều Khiển
  • Hỗ trợ cốt lõi của MRT
    • Điều này làm cho ứng dụng nhanh hơn và nhẹ hơn khi khởi động cũng như cung cấp khả năng tra cứu tài nguyên nhanh hơn.
  • Hỗ trợ ARM64
  • Kéo và thả bên trong và bên ngoài ứng dụng
  • RenderTargetBitmap (hiện chỉ có nội dung XAML – không có nội dung SwapChainPanel)
  • Hỗ trợ con trỏ tùy chỉnh
  • Đầu vào ngoài luồng
  • Cải tiến trải nghiệm công cụ / nhà phát triển của chúng tôi:
    • Live Visual Tree, Hot Tải lại, Live Property Explorer và các công cụ tương tự
    • Intellisense cho WinUI 3
  • Những cải tiến cần thiết cho việc di chuyển nguồn mở

Để biết thêm thông tin về cả lợi ích của WinUI 3 và lộ trình WinUI, hãy xem Lộ trình thư viện giao diện người dùng Windows trên GitHub.

Danh sách các lỗi đã được sửa trong Preview 4

Dưới đây là danh sách các lỗi giao diện người dùng mà nhóm đã sửa kể từ Bản xem trước 3. Ngoài ra, còn có rất nhiều công việc đang diễn ra xung quanh việc ổn định và cải thiện thử nghiệm của chúng tôi.

  • Bản phát hành này đã có phiên bản mới của CS/WinRT và Windows SDK, phiên bản này đã sửa các lỗi sau:
    • Sự cố khi liên kết với thuộc tính URI bằng cách sử dụng {Binding}
    • Các hàm C#/WinRT Marshal không tương tác chính xác với .NET 5
  • WinUI 3 gặp sự cố khi chạy trên Windows Insider Builds
    • Cảm ơn nhiều người đóng góp cho cộng đồng đã báo cáo lỗi này trên GitHub!
  • WebView2 không áp dụng Ngôn ngữ/ngôn ngữ của ứng dụng máy chủ cho CoreWebView2Environment
  • Bộ công cụ cộng đồng Windows Điều khiển DataGrid gặp sự cố khi bắt đầu/khi thanh cuộn xuất hiện
    • Cảm ơn nhiều người đóng góp cho cộng đồng đã báo cáo lỗi này trên GitHub!
  • Kết xuất trang rơi vào trạng thái xấu khi chế độ hiển thị thay đổi
  • Sự cố khi sử dụng ComboBox ngôn ngữ trong CalendarView
  • Máy tính để bàn WinUI 3: Không thể thoát khỏi WebView2
  • Máy tính để bàn WinUI 3: TreeView có sự cố TreeViewNodes dẫn xuất
  • Máy tính để bàn WinUI 3: Không thể nhập văn bản vào TextBox bên trong ContentDialog
  • Máy tính để bàn WinUI 3: ALT và F6 không hoạt động
  • SwapChainPanel cũ đã bị loại bỏ hiển thị bên trên SwapChain mới
  • Máy tính để bàn WinUI 3: Không thể cuộn bằng bàn di chuột
  • Sự cố khi sử dụng điều khiển NavigationView với nhiều cửa sổ trên cùng một luồng
  • Sự cố về khả năng truy cập: Hiển thị tiêu điểm trực tiếp khi khởi chạy ứng dụng máy tính để bàn WinUI
  • Vi phạm quyền truy cập khi cuộn trong DataGrid
  • Máy tính để bàn WinUI 3: Chuyển tab không hoạt động
  • Kéo và thả trên GridView không thành công trong ứng dụng máy tính để bàn với Quần đảo WinUI Xaml
  • Sự cố về khả năng truy cập: Không thể cuộn bằng phím PageUp/PageDown trên Máy tính để bàn WinUI 3
  • WebView2 có kích thước khung nhìn sai
  • WebView2 gặp sự cố khi nhấp chuột sau khi mở MenuFlyout
  • Máy tính để bàn WinUI 3: Cố gắng hạ thấp DropDownButton hoặc phần thả xuống của SplitButton gây ra sự cố ứng dụng
  • WebView2: Nhấp đúp chuột phải vào chuột gây ra sự cố
  • Nhấp vào ToggleSplitButton khiến ứng dụng bị lỗi
  • Máy tính để bàn WinUI 3: Cửa sổ DesktopWindowXamlSource trống hiển thị trên thanh tác vụ
  • Máy tính để bàn WinUI 3: DataGrid không hiển thị
  • Máy tính để bàn WinUI 3: Không thể thả tệp vào Lưới
  • Máy tính để bàn WinUI 3: Sự cố ItemRepeater trong WinUI 3 Preview 2
  • AccessViolationException được ném ra khi cập nhật các liên kết
  • Máy tính để bàn WinUI 3: ứng dụng gặp sự cố khi cuộn NavigationView
  • ItemsControl không được cập nhật khi tự động thêm hoặc xóa các mục trong bộ sưu tập ItemSource của nó.
  • Biên dịch lỗi C2760 trong App.xaml.gh nếu bật Chế độ tuân thủ C++

Hạn chế và các vấn đề đã biết

Bản phát hành Preview 4 chỉ đơn giản là bản xem trước có các lỗi, hạn chế và các vấn đề khác với các tình huống đặc biệt mới về ứng dụng Máy tính để bàn.

Các mục sau đây là một số vấn đề đã biết với WinUI 3 Preview 4.

Những công cụ phát triển

  • Chỉ hỗ trợ ứng dụng C# và C++/WinRT
  • Ứng dụng dành cho máy tính để bàn hỗ trợ .NET 5 và C# 9 và phải được đóng gói trong ứng dụng MSIX
  • Ứng dụng UWP hỗ trợ .NET Native và C# 7.3
  • Công cụ dành cho nhà phát triển và Intellisense có thể không hoạt động bình thường trong Visual Studio phiên bản 16.8.
  • Không hỗ trợ Trình thiết kế XAML
  • Các ứng dụng C++/CX mới không được hỗ trợ, tuy nhiên, các ứng dụng hiện có của bạn sẽ tiếp tục hoạt động (vui lòng chuyển sang C++/WinRT càng sớm càng tốt)
  • Hỗ trợ nhiều cửa sổ trong ứng dụng Máy tính để bàn đang được tiến hành nhưng chưa hoàn chỉnh và ổn định.
    • Vui lòng gửi lỗi trên kho lưu trữ của chúng tôi nếu bạn phát hiện thấy sự cố mới hoặc lỗi hồi quy với hoạt động đa cửa sổ.
  • Triển khai máy tính để bàn chưa đóng gói không được hỗ trợ
  • Khi chạy ứng dụng Máy tính để bàn bằng F5, hãy đảm bảo rằng bạn đang chạy dự án đóng gói. Nhấn F5 vào dự án ứng dụng sẽ chạy một ứng dụng chưa được đóng gói mà WinUI 3 chưa hỗ trợ.

Thiếu tính năng nền tảng

  • Hỗ trợ Xbox
  • Hỗ trợ HoloLens
  • Cửa sổ bật lên
    • Cụ thể hơn, ShouldConstrainToRootBounds thuộc tính luôn hoạt động như thể nó được đặt thành true, bất kể giá trị thuộc tính.
  • Inking hỗ trợ
  • Acrylic
  • MediaElement và MediaPlayerElement
  • Kiểm soát bản đồ
  • RenderTargetBitmap cho SwapChainPanel và nội dung không phải XAML
  • SwapChainPanel không hỗ trợ tính minh bạch
  • Global Reveal sử dụng hành vi dự phòng, một nét vẽ chắc chắn
  • Quần đảo XAML không được hỗ trợ trong phiên bản này
  • Thư viện hệ sinh thái của bên thứ 3 sẽ không hoạt động đầy đủ
  • IME không hoạt động

Các vấn đề đã biết

  • Alt+F4 không đóng cửa sổ ứng dụng Desktop.
  • Do những thay đổi với CoreWindow, các API WinRT sau đây có thể không còn hoạt động với Máy tính để bàn ứng dụng như mong đợi:

    Để biết thêm thông tin về cách sử dụng API WinRT trong ứng dụng WinUI 3 Desktop của bạn, hãy xem API thời gian chạy Windows có sẵn cho các ứng dụng trên máy tính để bàn.

  • Sự kiện Windows.UI.ViewQuản lý.UISettings.ColorValuesChanged không còn được hỗ trợ trong ứng dụng Máy tính để bàn. Điều này có thể gây ra sự cố nếu bạn đang sử dụng nó để phát hiện các thay đổi trong chủ đề Windows.
  • Bản phát hành này bao gồm một số API thử nghiệm. Những điều này chưa được nhóm kiểm tra kỹ lưỡng và có thể có vấn đề chưa xác định. Vui lòng gửi một lỗi trên kho lưu trữ của chúng tôi nếu bạn gặp phải bất kỳ vấn đề nào.
  • Trước đây, để có được phiên bản CompositionCapabilities, bạn sẽ gọi CompositionCapabilites.GetForCurrentView(). Tuy nhiên, các khả năng được trả về từ cuộc gọi này là không phụ thuộc vào cách nhìn. Để giải quyết và phản ánh vấn đề này, chúng tôi đã xóa tĩnh GetForCurrentView() trong bản phát hành này, vì vậy bây giờ bạn có thể tạo một Khả năng sáng tác đối tượng trực tiếp.
  • Đối với ứng dụng C# UWP: Khung WinUI 3 là một tập hợp các thành phần WinRT có thể được sử dụng từ C++ (sử dụng C++/WinRT) hoặc C#. Khi sử dụng C#, có hai phiên bản .NET, tùy thuộc vào kiểu ứng dụng: khi sử dụng WinUI 3 trong ứng dụng UWP, bạn đang sử dụng .NET Native; khi sử dụng trong ứng dụng Máy tính để bàn, bạn đang sử dụng .NET 5 (và C#/WinRT). Khi sử dụng C# cho ứng dụng WinUI 3 trong UWP, có một số khác biệt về không gian tên API so với C# trong ứng dụng Máy tính để bàn WinUI 3 hoặc C# Ứng dụng WinUI 2: một số loại nằm trong Microsoft không gian tên chứ không phải là một System không gian tên. Ví dụ, thay vì INotifyPropertyChanged giao diện nằm trong System.ComponentModel không gian tên, nó nằm trong Microsoft.UI.Xaml.Data không gian tên. Điều này áp dụng cho:
    • INotifyPropertyChanged (và các loại liên quan)
    • INotifyCollectionChanged
    • ICommand

    Sản phẩm System phiên bản không gian tên vẫn tồn tại nhưng không thể sử dụng được với WinUI 3. Điều này có nghĩa là ObservableCollection không hoạt động như trong ứng dụng WinUI 3 C# UWP. Để biết cách giải quyết, hãy xem Mẫu CollectionsInterop trong Mẫu Thư viện điều khiển XAML.

Điều gì sẽ xảy ra tiếp theo?

Các nhà phát triển có thể xem chi tiết của Microsoft lộ trình tính năng để xem khi nào các tính năng cụ thể sẽ được đưa vào WinUI 3.

Cài đặt WinUI 3 Preview 4

WinUI 3 Preview 4 bao gồm các mẫu dự án Visual Studio để giúp bắt đầu xây dựng ứng dụng với giao diện người dùng dựa trên WinUI và gói NuGet chứa các thư viện WinUI. Để cài đặt WinUI 3 Preview 4, hãy làm theo các bước sau.

Bộ công cụ cộng đồng Windows

Nếu bạn đang sử dụng Bộ công cụ cộng đồng Windows, tải xuống phiên bản mới nhất.

Bên cạnh những hạn chế và các vấn đề đã biết, việc xây dựng một ứng dụng bằng dự án WinUI cũng tương tự như việc xây dựng một ứng dụng UWP với XAML và WinUI 2.x. Vì vậy, hầu hết các tài liệu hướng dẫn cho các ứng dụng UWP và Windows.UI Không gian tên WinRT trong Windows SDK có thể áp dụng được.

Để biết thêm thông tin về cách bắt đầu với các mẫu dự án WinUI, hãy xem các bài viết sau:

Sắp có tài liệu tham khảo API cho bản phát hành này nhưng trong thời gian chờ đợi, các nhà phát triển có thể xem Tài liệu tham khảo API WinUI 3 cho Bản xem trước 3.

Nếu bạn đã tạo một dự án bằng WinUI 3 Preview 3, bạn có thể nâng cấp dự án của mình để sử dụng Preview 4. Xem phần Kho lưu trữ WinUI GitHub để có hướng dẫn chi tiết.

Để tận dụng các tính năng công cụ mới nhất được thêm vào WinUI 3 Preview 4 như Hot Reload, Live Visual Tree và Live Property Explorer, bạn phải sử dụng phiên bản xem trước mới nhất của Visual Studio với bản xem trước WinUI 3 mới nhất và đảm bảo bật Công cụ WinUI trong Tính năng xem trước của Visual Studio, như được mô tả trong hướng dẫn ở đây.

Xem WinUI 3 Preview 4 nhánh của Thư viện điều khiển XAML cho một ứng dụng mẫu bao gồm tất cả các tính năng và điều khiển của WinUI 3 Preview 4.


Ví dụ về ứng dụng Thư viện điều khiển XAML WinUI 3 Preview 4

Bản phát hành xem trước WinUI 3 này nhằm mục đích đánh giá sớm và thu thập phản hồi từ cộng đồng nhà phát triển. Nó nên KHÔNG được sử dụng cho các ứng dụng sản xuất. Microsoft sẽ tiếp tục phát hành bản xem trước của WinUI 3 vào năm 2021, sau đó là bản phát hành chính thức, được hỗ trợ đầu tiên vào tháng 2021 năm XNUMX.

Vui lòng sử dụng Kho lưu trữ WinUI GitHub để cung cấp phản hồi và ghi lại các đề xuất và vấn đề.

Thông tin thêm về các chủ đề: phát triển, microsoft, winui 3 xem trước 4