Windows App SDK 1.0.0-Preview2 พร้อมสไตล์ Windows จาก WinUI 2.6

ไอคอนเวลาอ่านหนังสือ 5 นาที. อ่าน


ผู้อ่านช่วยสนับสนุน MSpoweruser เราอาจได้รับค่าคอมมิชชันหากคุณซื้อผ่านลิงก์ของเรา ไอคอนคำแนะนำเครื่องมือ

อ่านหน้าการเปิดเผยข้อมูลของเราเพื่อดูว่าคุณจะช่วย MSPoweruser รักษาทีมบรรณาธิการได้อย่างไร อ่านเพิ่มเติม

วินุย3

Microsoft เพิ่งเปิดตัว Windows App SDK 1.0.0-Preview2 ซึ่งเป็นชุดเครื่องมือที่ช่วยให้นักพัฒนาแอปเดสก์ท็อปสร้างแอปด้วย Windows UI, API และคุณลักษณะแพลตฟอร์มที่ทันสมัย

[lwptoc title=”WindowsAppSDK 1.0 แสดงตัวอย่าง 2″ width=”30%” float=”right”]

เวอร์ชัน 1.0.0-Preview2 ของ SDK นำเสนอคุณลักษณะและการปรับปรุงต่อไปนี้:

WindowsUI 3

อัปเดตใหม่:

  • การควบคุมได้รับการอัปเดตเพื่อแสดงสไตล์ Windows ล่าสุดจาก WindowsUI 2.6.
  • รองรับ MSIX โปรเจ็กต์เดียว
  • แพ็คเกจ WinUI สามารถกำหนดเป้าหมายรุ่น 17763 ขึ้นไปได้แล้ว ดู ฉบับที่ #921 สำหรับข้อมูลเพิ่มเติม
  • รองรับแถบเครื่องมือในแอป อย่างไรก็ตาม แถบเครื่องมือในแอพและการสนับสนุน Hot Reload/Live Visual Tree ที่มีอยู่นั้นจำเป็นต้องมี Visual Studio 17.0 Preview 5 ที่กำลังจะวางจำหน่าย ซึ่งจะวางจำหน่ายในเดือนตุลาคมในภายหลัง

แก้ไขข้อผิดพลาด: ข้อความ WebView2Runtime ได้รับการแปลแล้ว

หน้าต่าง

ข่าวประชาสัมพันธ์ฉบับนี้แนะนำการอัปเดตสำหรับ หน้าต่างแอพ ระดับ. ไม่มีการเพิ่มคุณสมบัติใหม่ที่สำคัญในรุ่นนี้ แต่มีการเปลี่ยนแปลงชื่อวิธีการ คุณสมบัติ และค่าส่งคืนบางส่วนได้ถูกลบออก ดูเอกสารและตัวอย่างสำหรับการอัปเดตโดยละเอียด ถ้าคุณทำงานด้วย หน้าต่างแอพ ในรุ่น 1.0 รุ่นทดลองหรือ 1.0 ตัวอย่าง 1 คาดว่าจะมีการเปลี่ยนแปลงโค้ดของคุณ

อัปเดตใหม่:

  • พื้นที่ การกำหนดค่า AppWindow คลาสถูกลบออก คุณสมบัติของคลาสนี้มีอยู่ใน หน้าต่างแอพ ตัวเองหรือบน พรีเซนเตอร์ ชั้นเรียน
  • ส่วนมาก bool คืนค่าสำหรับวิธี WinRT API ในพื้นที่นี้ถูกลบออกแล้วและตอนนี้ void เพราะวิธีการเหล่านี้จะได้ผลเสมอ
  • การโทร C# ImportDll ไม่จำเป็นอีกต่อไปสำหรับ GetWindowIdFromWindow และ  GetWindowFromWindowId. ใช้วิธีการห่อ .NET ที่มีอยู่ใน Microsoft.UI.Win32Interop แทน.

ข้อจำกัดที่สำคัญ:

  • Windows App SDK ไม่ได้จัดเตรียมวิธีการแนบเนื้อหาเฟรมเวิร์ก UI กับ an หน้าต่างแอพ; คุณถูก จำกัด ให้ใช้วิธีการเข้าถึง HWND interop
  • การปรับแต่งแถบชื่อเรื่องของหน้าต่างใช้งานได้กับ Windows 11 เท่านั้น ใช้ การปรับแต่งได้รับการสนับสนุน วิธีการตรวจสอบการสนับสนุนคุณสมบัติการปรับแต่งแถบชื่อเรื่อง เราตั้งใจที่จะลดระดับการทำงานนี้ลง

สำหรับข้อมูลเพิ่มเติมโปรดดูที่ จัดการหน้าต่างแอพ.

ข้อจำกัดที่สำคัญ:

  • รุ่นนี้ของ หน้าต่างแอพ ปัจจุบันใช้ได้เฉพาะกับแอพ Win32 (ทั้งแบบแพ็คเกจและแบบไม่มีแพ็คเกจ)
  • Windows App SDK ไม่ได้จัดเตรียมวิธีการแนบเนื้อหาเฟรมเวิร์ก UI กับ an หน้าต่างแอพ; คุณถูก จำกัด ให้ใช้วิธีการเข้าถึง HWND interop
  • การปรับแต่งแถบชื่อเรื่องของหน้าต่างใช้งานได้กับ Windows 11 เท่านั้น ใช้ การปรับแต่งได้รับการสนับสนุน วิธีการตรวจสอบการสนับสนุนคุณสมบัติการปรับแต่งแถบชื่อเรื่อง เราตั้งใจที่จะลดระดับการทำงานนี้ลง

สำหรับข้อมูลเพิ่มเติมโปรดดูที่ จัดการหน้าต่างแอพ.

อินพุต

อัปเดตใหม่:

  • ปรับปรุงการรองรับอินพุตทัชแพดที่แม่นยำ

ข้อจำกัดที่สำคัญ:

  • ทั้งหมด พอยน์เตอร์พอยต์ ฟังก์ชันโรงงานแบบคงที่ถูกลบออก: รับจุดปัจจุบันGetCurrentPoint แปลงแล้วรับคะแนนระดับกลางและ GetIntermediatePoints แปลงร่างแล้ว.
  • Windows App SDK ไม่รองรับการดึงข้อมูล พอยน์เตอร์พอยต์ ออบเจ็กต์ที่มี ID ตัวชี้ คุณสามารถใช้ .แทนได้ พอยน์เตอร์พอยต์ ฟังก์ชั่นสมาชิก GetTransformedPoint เพื่อดึงเวอร์ชันที่แปลงแล้วของที่มีอยู่ พอยน์เตอร์พอยต์ วัตถุ. สำหรับจุดกลาง คุณสามารถใช้ ตัวชี้เหตุการณ์ Args ฟังก์ชั่นสมาชิก รับคะแนนระดับกลาง และ  รับ TransformedIntermediatePoints. ดูเอกสารสำหรับรายละเอียดเพิ่มเติม

MRT คอร์

อัปเดตใหม่:

  • ตอนนี้นักพัฒนาแอปสามารถเลือกไม่ให้ไฟล์รูปภาพหรือไฟล์ RESW ถูกสร้างดัชนีในไฟล์ PRI ในโปรเจ็กต์ .NET ดู ปัญหา 980 สำหรับข้อมูลเพิ่มเติม

ข้อจำกัดที่สำคัญ:

  • ในโปรเจ็กต์ .NET ไฟล์ทรัพยากรที่คัดลอกและวางลงในโฟลเดอร์โปรเจ็กต์จะไม่ถูกสร้างดัชนีบน F5 หากแอปนั้นถูกสร้างขึ้นแล้ว เพื่อเป็นการแก้ปัญหาชั่วคราว ให้สร้างแอปใหม่ ดู ปัญหา 1503 สำหรับข้อมูลเพิ่มเติม].
  • ในโปรเจ็กต์ .NET ไฟล์ทรัพยากรที่มีอยู่ซึ่งเพิ่มจากโฟลเดอร์ภายนอกจะไม่ถูกสร้างดัชนีหากไม่มีการตั้งค่า Build Action ด้วยตนเอง เมื่อต้องการแก้ไขปัญหานี้ ตั้งค่า Build Action ใน Visual Studio: คอนเทนต์ สำหรับไฟล์ภาพและ PRIResource สำหรับไฟล์ RESW ดูปัญหา 1504 สำหรับข้อมูลเพิ่มเติม

การปรับใช้สำหรับแอพที่ไม่มีแพ็คเกจ

ลูกเล่นใหม่ ๆ:

  • Windows App SDK 1.0 Preview 2 แนะนำ .NET wrapper สำหรับ API บูตสแตรปเปอร์. Bootstrapper API คือชุดของฟังก์ชัน C/C++ ดั้งเดิมที่แอปที่ไม่ได้ทำแพ็กเกจต้องใช้เพื่อใช้การขึ้นต่อกันแบบไดนามิกบนแพ็คเกจเฟรมเวิร์ก SDK ของ Windows App ณ รันไทม์ .NET wrapper เป็นวิธีที่ง่ายกว่าในการเรียก bootstrapper API จากแอป .NET รวมถึงแอป Windows Forms และ WPF .NET wrapper สำหรับ bootstrapper API มีอยู่ในแอสเซมบลี Microsoft.WindowsAppRuntime.Bootstrap.Net.dll ซึ่งอยู่ภายในโปรเจ็กต์แอปของคุณ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ .NET wrapper โปรดดูที่ .NET wrapper ไลบรารี่.
  • แอพแพ็คเกจสามารถใช้ API การปรับใช้เพื่อรับ หลัก และ  เดี่ยว แพ็คเกจ MSIX ที่ติดตั้งบนเครื่อง แพ็กเกจหลักและแพ็กเกจซิงเกิลตันเป็นส่วนหนึ่งของแพ็กเกจเฟรมเวิร์กที่ติดตั้งกับแอป แต่เนื่องจากข้อจำกัดของรูปแบบแอปพลิเคชัน Windows แอปแพ็กเกจจะต้องดำเนินการตามขั้นตอนเพิ่มเติมนี้จึงจะสามารถติดตั้งแพ็กเกจเหล่านั้นได้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของ API การปรับใช้ โปรดดูที่ คู่มือการปรับใช้สำหรับแอพที่เป็นแพ็คเกจ.

วงจรชีวิตแอป

คุณลักษณะ App Lifecycle ส่วนใหญ่มีอยู่แล้วในแพลตฟอร์ม UWP และถูกนำเข้ามาใน Windows App SDK เพื่อใช้งานโดยแอปทุกประเภท โดยเฉพาะแอป Console ที่ไม่มีแพ็กเกจ, แอป Win32, แอป Windows Forms และแอป WPF การใช้งาน Windows App SDK ของคุณลักษณะเหล่านี้ไม่สามารถใช้ในแอป UWP ได้ เนื่องจากมีคุณลักษณะที่เทียบเท่ากันในแพลตฟอร์ม UWP

แอพที่ไม่ใช่ UWP สามารถจัดแพ็คเกจลงในแพ็คเกจ MSIX ได้ แม้ว่าแอปเหล่านี้สามารถใช้คุณลักษณะวงจรชีวิตของแอป Windows App SDK บางอย่างได้ แต่ต้องใช้วิธีการแสดงรายการที่มีให้ใช้งาน ตัวอย่างเช่น ไม่สามารถใช้ Windows App SDK ลงทะเบียนสำหรับXXXActivation API และต้องลงทะเบียนเพื่อเปิดใช้งานแบบสมบูรณ์ผ่านรายการแทน

ข้อจำกัดทั้งหมดสำหรับแอปที่เป็นแพ็กเกจยังใช้กับแอป WinUI ซึ่งจัดเป็นแพ็กเกจ และมีข้อควรพิจารณาเพิ่มเติมตามที่อธิบายไว้ด้านล่าง

อ่านเพิ่มเติมและค้นหาลิงก์ดาวน์โหลดที่ Microsoft โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม.

ข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อต่างๆ: Windows App SDK 1.0.0, วินุย3