บทช่วยสอน WPF สำหรับผู้เริ่มต้น
⚡ สรุปอย่างชาญฉลาด
ดับบลิวพีเอฟ (Windows การเสนอ Foundation) คือ Microsoftกรอบการทำงานสำหรับการสร้างสิ่งที่มีคุณค่า Windows แอปพลิเคชันบนเดสก์ท็อป สำหรับผู้เริ่มต้นจะได้เรียนรู้วิธีการทำงานร่วมกันของ XAML, การผูกข้อมูล และกราฟิกที่เร่งความเร็วด้วยฮาร์ดแวร์ เพื่อสร้างส่วนติดต่อผู้ใช้ที่ปรับขนาดได้และสวยงามด้วยโค้ดที่น้อยลง

WPF คืออะไร?
WPF เป็นกรอบสำหรับการก่อสร้าง Windows WPF (Wide Environment Framework) คือแอปพลิเคชันที่ช่วยให้นักพัฒนาสามารถสร้างส่วนติดต่อผู้ใช้ที่สวยงามด้วยแอนิเมชั่น 3 มิติและสีสันสดใส โดยใช้โค้ดที่ซับซ้อนน้อยลง เป็นเอนจิ้นการเรนเดอร์แบบเวกเตอร์ที่ใช้การเร่งความเร็วฮาร์ดแวร์ของการ์ดกราฟิกสมัยใหม่ ทำให้ UI เร็วขึ้นและปรับขนาดได้สูง WPF ย่อมาจาก... Windows การเสนอ Foundation.
WPF ถือได้ว่าเป็นวิวัฒนาการต่อยอดจาก WinForms โดยมีระบบแสดงผลกราฟิกที่ใช้งานง่ายสำหรับ Windows และนำเสนอการแยกส่วนที่ชัดเจนระหว่างส่วนติดต่อผู้ใช้และตรรกะทางธุรกิจ
แอปพลิเคชัน WPF มักถูกใช้งานในรูปแบบโปรแกรมเดสก์ท็อปแบบสแตนด์อโลน และยังสามารถฝังตัวเป็นอ็อบเจ็กต์ในแอปพลิเคชันอื่นๆ ได้อีกด้วย
ทำไมต้อง WPF?
มีเหตุผลมากมายที่ควรใช้แพลตฟอร์ม WPF เหตุผลสำคัญบางประการ ได้แก่:
- แพลตฟอร์มที่เหมาะสำหรับการใช้งานหากคุณต้องการจัดการกับสื่อประเภทต่างๆ
- WPF ช่วยให้คุณสร้างส่วนติดต่อผู้ใช้ที่มีธีมได้ นอกจากนี้ยังช่วยคุณเมื่อต้องการโหลดส่วนใดส่วนหนึ่งของส่วนติดต่อผู้ใช้ หรือต้องการผูกข้อมูล XML
- ช่วยให้คุณสามารถใช้ประโยชน์จากไลบรารีคลาส .NET ขนาดใหญ่ตามที่ถูกสร้างขึ้น เทคโนโลยี.เน็ต
- ความไม่ขึ้นกับความละเอียดหน้าจอ ทำให้แอปพลิเคชันที่พัฒนาโดยใช้ WPF สามารถทำงานได้ทั้งบนหน้าจอแท็บเล็ตขนาดเล็กหรือจอภาพขนาด 20 นิ้ว
- WPF สร้างขึ้นบน DirectX แทนที่จะเป็น WinAPI โดยใช้ระบบกราฟิกของคอมพิวเตอร์ไคลเอ็นต์ จึงให้ประสิทธิภาพการเรนเดอร์กราฟิกที่เหนือกว่า
- รองรับรูปแบบเอกสารแบบไหล ซึ่งช่วยให้ได้เลย์เอาต์คุณภาพระดับ "การจัดพิมพ์บนเดสก์ท็อป"
- รูปลักษณ์และพฤติกรรมมีความสัมพันธ์กันอย่างหลวมๆ ทำให้ผู้ออกแบบและนักพัฒนาสามารถทำงานกับโมเดลสองแบบที่แยกจากกันได้
- ในเฟรมเวิร์ก WPF คุณสามารถออกแบบเครื่องมือต่างๆ ด้วยกราฟิกโดยใช้เอกสาร XML อย่างง่าย แทนการวิเคราะห์โค้ด
- ช่วยให้คุณสามารถใช้การเร่งความเร็วด้วยฮาร์ดแวร์ในการวาด GUI เพื่อประสิทธิภาพที่ดีขึ้น
ต่อไป เรามาดูกันว่ากรอบการทำงานนี้มีการพัฒนาอย่างไรเมื่อเวลาผ่านไป
ประวัติความเป็นมาของ WPF
Windows 1.0 เป็นสภาพแวดล้อม GUI แรกจาก Microsoftมันทำงานเป็นเลเยอร์อยู่บนระบบปฏิบัติการ DOS โดยอาศัยระบบ GDI และ USER สำหรับกราฟิกและส่วนติดต่อผู้ใช้
DirectX เปิดตัวในปี 1995 ในฐานะระบบกราฟิกประสิทธิภาพสูงที่มุ่งเน้นเกมและสภาพแวดล้อมที่เกี่ยวข้องกับกราฟิกอื่นๆ ตลอดหลายปีที่ผ่านมา มีการออกเวอร์ชันต่างๆ มากมาย และ DirectX 9 ได้จัดเตรียมไลบรารีที่สามารถใช้กับโค้ด .NET แบบจัดการได้
| เวอร์ชัน WPF | ปีที่วางจำหน่าย | เวอร์ชัน .Net | เวอร์ชัน Visual Studio | คุณสมบัติ |
|---|---|---|---|---|
| 3.0 | 2006 | 3.0 | N / A | การเปิดตัวครั้งแรก อย่างไรก็ตาม การพัฒนา WPF สามารถทำได้ด้วย VS 2005 |
| 3.5 | 2007 | 3.5 | วีเอส 2008 | การปรับเปลี่ยนและปรับปรุงใน: แบบจำลองแอปพลิเคชัน, การผูกข้อมูล, การควบคุม, เอกสาร, คำอธิบายประกอบ และองค์ประกอบ UI 3 มิติ |
| SP3.5 1 | 2008 | SP3.5 1 | N / A | รองรับหน้าจอเริ่มต้น การควบคุมเว็บเบราว์เซอร์ใหม่ รองรับ DirectX pixel shader |
| 4.0 | 2010 | 4.0 | วีเอส 2010 | ส่วนควบคุมใหม่: ปฏิทิน, ตารางข้อมูล, ตัวเลือกวันที่ รองรับการสัมผัสหลายจุดและการควบคุมแบบแมนนวล |
| 4.5 | 2012 | 4.5 | วีเอส 2012 | เริ่มต้นระบบได้เร็วขึ้น ประสิทธิภาพดีขึ้นเมื่อแสดงชุดข้อมูลขนาดใหญ่ มีส่วนควบคุม Ribbon ใหม่และอินเทอร์เฟซ INotifyDataErrorInfo สำหรับการตรวจสอบความถูกต้องของข้อมูล |
| 4.5.1 | 2013 | 4.5.1 | วีเอส 2013 | ปรับปรุงประสิทธิภาพและความน่าเชื่อถือเล็กน้อย |
| 4.5.2 | 2014 | 4.5.2 | NA | ไม่มีการเปลี่ยนแปลงครั้งสำคัญ |
| 4.6 | 2015 | 4.6 | วีเอส 2015 | รองรับหน้าต่างลูกแบบโปร่งใส การปรับปรุง HDPI และ Touch |
| 4.8 | 2019 | 4.8 | วีเอส 2019 | เวอร์ชันหลักสุดท้ายของ .NET Framework พร้อมการแก้ไขปัญหาสำหรับหน้าจอความละเอียดสูง (High-DPI) และการปรับปรุงด้านการเข้าถึงสำหรับผู้พิการ |
| .NET Core 3.0 ขึ้นไป | ฮิตปัจจุบัน | .NET Core 3.0 ถึง .NET 10 | VS 2019/2022 | WPF กลายเป็นโอเพนซอร์สและมาพร้อมกับ .NET รุ่นใหม่ (แอปพลิเคชันยังคงใช้งานได้) Windows-เท่านั้น). |
ปัจจุบัน WPF ไม่ได้ถูกกำหนดเวอร์ชันแยกต่างหากจาก .NET อีกต่อไปแล้ว ตั้งแต่ปี 2019 เป็นต้นมา WPF ได้ถูกรวมเป็นส่วนประกอบโอเพนซอร์สของแพลตฟอร์ม .NET รุ่นใหม่ และเวอร์ชันปัจจุบันได้ถูกรวมอยู่ใน .NET 10 ซึ่งเปิดตัวในเดือนพฤศจิกายน 2025 ในรูปแบบเวอร์ชันสนับสนุนระยะยาว (LTS)
คุณสมบัติของ WPF
แผนภาพด้านล่างแสดงการจัดกลุ่มความสามารถหลักของ WPF ซึ่งมีรายละเอียดอธิบายไว้หลังจากนั้น

- เอกสารและการพิมพ์
- ความปลอดภัย การเข้าถึง และการแปลเป็นภาษาท้องถิ่น
- เสนอความสามารถในการทำงานร่วมกันกับ Windows การควบคุมแบบฟอร์ม
- Direct3D ใช้ในแอปพลิเคชันกราฟิกที่ประสิทธิภาพเป็นสิ่งสำคัญ
- ใช้ฮาร์ดแวร์การ์ดแสดงผลสำหรับการเรนเดอร์
- กราฟิกแบบเวกเตอร์ช่วยให้คุณสามารถปรับขนาดแอปพลิเคชันของคุณได้โดยไม่สูญเสียคุณภาพ
- WPF รองรับระบบพิกเซลเชิงตรรกะแบบจุดลอยตัวและสี ARGB 32 บิต
- กำหนดสไตล์และเทมเพลตการควบคุมใหม่
- การสร้างแบบอักษรสากลจากแบบอักษรผสม
- การแสดงผลข้อความใน WPF ใช้ประโยชน์จากเทคโนโลยี ClearType
- ช่วยให้คุณใช้เทคนิคการแคชข้อความที่แสดงผลล่วงหน้าในหน่วยความจำวิดีโอ
- แนวทางที่อิงตามทรัพยากรสำหรับการควบคุมทุกอย่าง
- ตัวจับเวลาการนำเสนอเริ่มต้นและจัดการโดย WPF
- รองรับความสัมพันธ์ระหว่างวิดีโอและภาพเคลื่อนไหวด้วย
- ใน WPF สไตล์คือชุดของคุณสมบัติที่ควรนำไปใช้กับเนื้อหาที่ใช้สำหรับการแสดงผลทางภาพ
- เทมเพลตใน WPF ช่วยให้คุณสามารถเปลี่ยนแปลงส่วนติดต่อผู้ใช้ (UI) ของเอกสารได้
- คำสั่งต่างๆ นั้นกระชับกว่าtracและเวอร์ชันเหตุการณ์ที่เชื่อมโยงกันอย่างหลวมๆ
- การรองรับคำสั่ง WPF จะช่วยลดจำนวนโค้ดที่เราต้องเขียน
ต่อไปใน WPF นี้ บทช่วยสอน C #เราจะเรียนรู้เกี่ยวกับประเภทหลักและโครงสร้างพื้นฐานของ WPF
ประเภทแกน WPF และโครงสร้างพื้นฐาน
คลาสใน WPF แบ่งออกเป็นสี่ประเภท:
- UIองค์ประกอบ
- กรอบองค์ประกอบ
- เนื้อหาองค์ประกอบ
- กรอบเนื้อหาองค์ประกอบ
คลาสเหล่านี้เรียกว่าคลาสองค์ประกอบพื้นฐาน ซึ่งเป็นรากฐานสำหรับแบบจำลองการประกอบส่วนติดต่อผู้ใช้
ส่วนติดต่อผู้ใช้ของ WPF ประกอบด้วยองค์ประกอบต่างๆ ที่จัดเรียงเป็นโครงสร้างลำดับชั้นแบบต้นไม้ เรียกว่า โครงสร้างต้นไม้ขององค์ประกอบ (Element Tree) โครงสร้างต้นไม้ขององค์ประกอบเป็นวิธีที่ใช้งานง่ายในการจัดวางส่วนติดต่อผู้ใช้ และเป็นโครงสร้างที่ช่วยให้คุณเข้าถึงบริการ UI ที่ทรงพลังได้
xaml
ภาษามาร์กอัปแอปพลิเคชันที่ขยายได้ หรือที่เรียกว่า “XAML” (อ่านว่า “แซมเมล”) เป็นวิธีการกำหนดส่วนติดต่อผู้ใช้แบบประกาศ (declarative)
นี่คือคำจำกัดความ XAML ของปุ่มธรรมดา:
<Button FontSize="16" HorizontalAlignment="Center" VerticalAlignment="Center" > Say Hello Guru99</Button>
ข้อดีของการใช้ภาษา XAML:
- XAML แยกส่วนการแสดงผลฝั่ง front-end ออกจากตรรกะฝั่ง back-end
- XAML เป็นวิธีที่ง่ายที่สุดในการแสดงส่วนต่อประสานกับผู้ใช้
- XAML ทำงานร่วมกับเครื่องมือออกแบบได้อย่างมีประสิทธิภาพ
ควบคุม
เฟรมเวิร์ก WPF รองรับคอนโทรลที่มีประโยชน์มากมาย เช่น:
- การควบคุมการแก้ไข เช่น ข้อความBox, ตรวจสอบBox, เรดิโอบัตตัน
- การควบคุมรายการ เช่น รายการBox, ลิสต์วิว, ทรีวิว
- ข้อมูลผู้ใช้ เช่น Label, WPF ProgressBar, ToolTip
- การดำเนินการ เช่น เมนู ปุ่ม และแถบเครื่องมือ
- ลักษณะที่ปรากฏเช่น Border, WPF Image และ Viewbox
- กล่องโต้ตอบทั่วไป เช่น OpenFileDialog และ PrintDialog
- คอนเทนเนอร์ต่างๆ เช่น TabControl, ScrollBar และ GroupBox
- รูปแบบการจัดวาง เช่น DockPanel, StackPanel และ Grid
- การนำทาง เช่น Frame และ Hyperlink
รูปลักษณ์ของส่วนควบคุมสามารถปรับแต่งตามสไตล์และเทมเพลตได้โดยไม่ต้องเขียนโปรแกรม คุณยังสามารถสร้างการควบคุมแบบกำหนดเองได้โดยการสืบทอดคลาสใหม่จากคลาสพื้นฐานที่เหมาะสม
ลักษณะ
WPF มีคุณสมบัติสำหรับปรับแต่งรูปลักษณ์ของแอปพลิเคชันของคุณ ช่วยให้คุณสามารถตั้งค่าวัตถุและค่าต่างๆ เช่น แบบอักษร พื้นหลัง ฯลฯ
คุณลักษณะสไตล์ช่วยให้คุณกำหนดรูปลักษณ์เฉพาะของผลิตภัณฑ์ทั้งหมดให้เป็นมาตรฐานได้ ช่วยให้คุณสามารถแทนที่ลักษณะที่ปรากฏเริ่มต้นในขณะที่ยังคงลักษณะการทำงานเริ่มต้นไว้ได้
เทมเพลตข้อมูลช่วยให้คุณควบคุมการแสดงผลเริ่มต้นของข้อมูลที่ผูกไว้ได้ และด้วยความช่วยเหลือของธีม คุณสามารถใช้รูปแบบการแสดงผลของระบบปฏิบัติการได้อย่างง่ายดาย
เค้าโครงและแผง
การจัดวางเลย์เอาต์ช่วยให้คุณกำหนดตำแหน่งและขนาดของส่วนควบคุมได้อย่างเหมาะสม เป็นส่วนหนึ่งของกระบวนการสร้างสรรค์การนำเสนอสำหรับผู้ใช้ เฟรมเวิร์ก WPF ช่วยให้กระบวนการจัดวางเลย์เอาต์ง่ายขึ้นและปรับเปลี่ยนรูปลักษณ์ของ UI ได้ดียิ่งขึ้น
โครงสร้างพื้นฐานของเลย์เอาต์มีให้เลือกใช้ 5 คลาสหลัก ได้แก่ 1) StackPanel 2) DockPanel 3) WrapPanel 4) Grid และ 5) Canvas
กราฟิก
WPF นำเสนอระบบกราฟิกที่ได้รับการปรับปรุง:
- WPF ใช้หน่วยที่ไม่ขึ้นกับอุปกรณ์ ทำให้สามารถใช้งานได้โดยไม่ขึ้นอยู่กับความละเอียดและอุปกรณ์ พิกเซลแต่ละพิกเซลที่ไม่ขึ้นกับอุปกรณ์จะปรับขนาดโดยอัตโนมัติตามการตั้งค่าจุดต่อนิ้วของระบบ
- WPF ใช้ double แทน float และรองรับสีที่หลากหลายยิ่งขึ้น
- เอ็นจิ้นกราฟิก WPF ได้รับการออกแบบในลักษณะที่สามารถใช้ประโยชน์จากฮาร์ดแวร์กราฟิกได้เมื่อพร้อมใช้งาน
เอกสารและการพิมพ์
เฟรมเวิร์ก WPF มีเอกสารให้เลือก 3 ประเภท:
- เอกสารคงที่: เอกสารประเภทนี้รองรับ WYSIWวายจีนำเสนอ
- เอกสารการไหล: ช่วยให้คุณปรับและจัดเรียงเนื้อหาใหม่ตามตัวแปรรันไทม์ เช่น ขนาดหน้าต่างและความละเอียดของอุปกรณ์
- เอกสาร XPS: XPS คือรูปแบบเอกสารอิเล็กทรอนิกส์แบบมีหมายเลขหน้า ที่แสดงข้อมูลในรูปแบบ XML โดย XPS เป็นรูปแบบเอกสารแบบเปิดและได้มาตรฐาน
WPF ช่วยให้ควบคุมระบบการพิมพ์ได้ดียิ่งขึ้น รวมถึงการพิมพ์ระยะไกลและคิวการพิมพ์ นอกจากนี้ เอกสาร XPS สามารถพิมพ์ได้โดยตรงโดยไม่ต้องแปลงเป็นรูปแบบการพิมพ์ก่อน
เมื่อเข้าใจส่วนประกอบพื้นฐานแล้ว เรามาดูกันว่าชิ้นส่วนเหล่านี้ประกอบเข้าด้วยกันอย่างไร
WPF Archiเทคเจอร์
WPF เป็นส่วนหนึ่งของเฟรมเวิร์ก .NET ประกอบด้วยทั้งโค้ดที่จัดการได้และโค้ดที่จัดการไม่ได้ ส่วนประกอบสำคัญของสถาปัตยกรรม WPF อธิบายไว้ในภาพด้านล่าง:
ส่วนประกอบของสถาปัตยกรรม WPF
- กรอบการนำเสนอ: ช่วยให้คุณสร้างองค์ประกอบระดับบนสุด เช่น ตัวควบคุม สไตล์ เลย์เอาต์ หน้าต่าง ฯลฯ
- PresentationCore: มันเก็บประเภทพื้นฐาน เช่น UIElement และ Visual ซึ่งเป็นที่มาของคอนโทรลและรูปร่างทั้งหมดใน PresentationFramework.dll
- CLR: มันทำให้กระบวนการพัฒนามีประสิทธิผลโดยนำเสนอคุณสมบัติเช่น การจัดการหน่วยความจำ, การจัดการข้อผิดพลาด ฯลฯ
- มิลคอร์: Milcore เป็นส่วนหนึ่งของโค้ดที่ไม่มีการจัดการซึ่งมีการบูรณาการอย่างแน่นหนากับ DirectX
- DirectX: DirectX คือ API ระดับต่ำที่ใช้ในการแสดงผลกราฟิกของ WPF โดย DirectX จะทำงานร่วมกับไดรเวอร์และแสดงผลเนื้อหา
- ผู้ใช้32: User32 เป็น API หลักที่โปรแกรมหลายโปรแกรมใช้งานกันอย่างแพร่หลาย ทำหน้าที่จัดการหน่วยความจำและการแยกกระบวนการทำงาน User32 ช่วยให้คุณตัดสินใจได้ว่าจะวางองค์ประกอบใดไว้ที่ใดบนหน้าจอ
- เคอร์เนล: อินพุตเริ่มต้นจากสัญญาณบนไดรเวอร์อุปกรณ์โหมดเคอร์เนล และถูกส่งต่อไปยังกระบวนการที่ถูกต้องโดยการเชื่อมต่อกับ Windows เคอร์เนลและ User32
การผูกข้อมูล WPF
การผูกข้อมูล (Data binding) เป็นหนึ่งในแนวคิดที่ทรงพลังที่สุดใน WPF แทนที่จะเขียนโค้ดเพื่อคัดลอกค่าระหว่างคอนโทรลและอ็อบเจ็กต์ด้วยตนเอง คุณเพียงแค่ประกาศการเชื่อมต่อใน XAML และ WPF จะทำการซิงโครไนซ์ทั้งสองฝั่งโดยอัตโนมัติ ตัวอย่างเช่น:
<TextBox Text="{Binding Path=StudentName, Mode=TwoWay}" />
WPF รองรับโหมดการผูกข้อมูลสี่โหมด:
- วันเวย์: ระบบควบคุมจะอัปเดตเมื่อข้อมูลต้นทางเปลี่ยนแปลง
- ทูเวย์: การเปลี่ยนแปลงเกิดขึ้นในทั้งสองทิศทางระหว่างตัวควบคุมและแหล่งกำเนิด
- วันไทม์: ตัวควบคุมจะอ่านค่าจากแหล่งข้อมูลเพียงครั้งเดียวเท่านั้น ในขณะโหลดข้อมูล
- OneWayToSource: การควบคุมจะส่งค่าไปยังแหล่งที่มา ไม่ใช่ในทางกลับกัน
การผูกข้อมูล (Data binding) ยังเป็นกลไกสำคัญเบื้องหลังรูปแบบ MVVM (Model-View-ViewModel) ซึ่งเป็นสถาปัตยกรรมที่พบได้บ่อยที่สุดสำหรับแอปพลิเคชัน WPF ระดับมืออาชีพ เนื่องจากช่วยให้ส่วนแสดงผล (View) อยู่ใน XAML ในขณะที่ส่วนตรรกะ (Logical) อยู่ในคลาส C# ที่สามารถทดสอบได้
💡 เคล็ดลับ: โปรดใช้งานอินเทอร์เฟซ INotifyPropertyChanged ในคลาสข้อมูลของคุณ หากไม่มีอินเทอร์เฟซนี้ UI จะไม่รีเฟรชเมื่อค่าของคุณสมบัติเปลี่ยนแปลงในโค้ด
การติดตั้ง WPF
โปรดคลิกที่ลิงก์นี้เพื่อติดตั้ง WPF: https://www.guru99.com/download-install-visual-studio.html
ในบทต่อไปของบทเรียนการสร้างแอปพลิเคชัน WPF นี้ เราจะสร้างแอปพลิเคชัน WPF ตัวแรกของเรา
จะสร้างแอปพลิเคชัน WPF แรกของคุณได้อย่างไร
ในตัวอย่าง WPF นี้ เราจะพัฒนาแอปพลิเคชัน WPF พื้นฐาน ดังนั้น มาเริ่มการใช้งานแบบง่ายๆ โดยทำตามขั้นตอนที่ให้ไว้ในตัวอย่างแอปพลิเคชัน WPF ด้านล่างกันเลย
ขั้นตอน 1) ใน Visual Studio ให้ไปที่ ไฟล์ > สร้างใหม่ > โปรเจ็กต์
ขั้นตอน 2) ในหน้าต่างโครงการใหม่
- เลือกแอป WPF
- ป้อนชื่อเป็น “MyWPF”
- คลิกตกลง
ขั้นตอน 3) Visual Studio สร้างไฟล์สองไฟล์ตามค่าเริ่มต้น
- ไฟล์ XAML (MainWindow.xaml)
- ไฟล์ CS (MainWindow.xaml.cs)
MainWindow.xaml มี
- หน้าต่างการออกแบบ
- ไฟล์ XAML
ในหน้าต่าง XAML แท็กต่อไปนี้จะถูกเขียนโดยค่าเริ่มต้น:
ตารางเป็นองค์ประกอบแรกตามค่าเริ่มต้น
ไฟล์ MainWindow.xaml.cs ประกอบด้วยโค้ดเบื้องหลังที่เกี่ยวข้องกับไฟล์ออกแบบ XAML:
ขั้นตอน 4) ในกล่องเครื่องมือ
- ลากข้อความBox องค์ประกอบให้กับหน้าต่างการออกแบบ
- ข้อความBox จะปรากฏในหน้าต่างการออกแบบ
- คุณจะเห็นโค้ด XAML สำหรับข้อความBox ที่เพิ่ม
ขั้นตอน 5) เปลี่ยนข้อความเป็น “โปรแกรม WPF ตัวแรก”
ขั้นตอน 6) คลิกปุ่มเริ่ม
ขั้นตอน 7) คุณจะเห็นหน้าต่างในผลลัพธ์
ยินดีด้วย! คุณได้ออกแบบและสร้างแอปพลิเคชัน WPF แรกของคุณ ต่อไปในบทช่วยสอน WPF สำหรับผู้เริ่มต้น เราจะเห็นความแตกต่างระหว่าง WPF และ WinForms
WPF กับ WinForms
| WPF | วินฟอร์ม |
|---|---|
| เป็นเฟรมเวิร์กที่ใหม่กว่า ดังนั้นจึงสอดคล้องกับมาตรฐานปัจจุบันมากขึ้น | มันเก่ากว่าดังนั้นจึงมีการทดลองและทดสอบมากกว่า |
| มันมีความยืดหยุ่นและมีฟังก์ชันการทำงานมากมาย คุณสามารถออกแบบแอปพลิเคชันที่ซับซ้อนได้โดยไม่ต้องเขียนโค้ดหรือซื้อส่วนเสริมเพิ่มเติม | ไม่ได้มีฟีเจอร์มากมายนัก |
| นักพัฒนา 3rd การควบคุมงานปาร์ตี้เน้นความเข้ากันได้กับ WPF เนื่องจากเป็นเทคโนโลยีแห่งอนาคต | มีการควบคุมของบุคคลที่สามมากมายที่คุณสามารถซื้อหรือรับได้ฟรี |
| XAML ช่วยให้คุณสร้างและแก้ไข GUI ได้อย่างง่ายดาย และยังช่วยแบ่งงานระหว่างนักออกแบบ (XAML) และโปรแกรมเมอร์ (C#, VB.NET เป็นต้น) ได้อีกด้วย | In Windows แบบฟอร์มเหล่านี้มีโค้ดทั้งหมดเขียนไว้ในที่เดียว |
| ทักษะ XAML สามารถนำไปใช้กับเฟรมเวิร์กใหม่ๆ ได้โดยตรง เช่น WinUI 3, .NET MAUI และ Avalonia UI | ทักษะ WinForms ส่วนใหญ่ใช้ได้กับระบบคลาสสิก Windows การพัฒนาบนเดสก์ท็อป |
| ชุดควบคุมในกล่องของ WPF มีข้อจำกัด | การควบคุมภายในกล่องมีประสิทธิภาพมาก |
ประเภทของแอปพลิเคชันที่สร้างด้วย WPF
- WPF ใช้สำหรับการทำงานแบบสแตนด์อโลน Windows แอปพลิเคชันบนเดสก์ท็อป เช่น เครื่องมือสำหรับธุรกิจระดับองค์กร แดชบอร์ด เทอร์มินัลการซื้อขาย และซอฟต์แวร์ออกแบบ
- Windows แบบฟอร์มและหน้า WPF สามารถอยู่ร่วมกันในแอปพลิเคชันเดียวกันได้
- คุณสามารถพัฒนาแอปพลิเคชันที่มีรูปแบบการนำทางแบบหน้า/หน้าต่างได้
WPF ใน .NET สมัยใหม่
Microsoft WPF เปิดเป็นโอเพนซอร์สในเดือนธันวาคม 2018 และตั้งแต่ .NET Core 3.0 (2019) เฟรมเวิร์กนี้ก็ถูกรวมอยู่ในทุกเวอร์ชันของ .NET รุ่นใหม่ จนถึง .NET 10 การย้ายแอปพลิเคชันไปยัง .NET รุ่นใหม่จะทำให้เริ่มต้นทำงานได้เร็วขึ้น การปรับใช้ทำได้ง่ายขึ้นผ่านการเผยแพร่แบบครบวงจร และเข้าถึงคุณสมบัติของภาษา C# ในปัจจุบันได้ ในขณะที่โมเดลการเขียนโปรแกรมของ WPF ยังคงเหมือนเดิม
WPF ยังคงอยู่ Windows-เท่านั้น หากคุณกำลังเลือกเฟรมเวิร์กสำหรับเดสก์ท็อปในวันนี้ การเปรียบเทียบนี้จะช่วยคุณได้:
| กรอบ | ที่ดีที่สุดสำหรับ |
|---|---|
| WPF | สมบูรณ์แบบ ครบครันด้วยฟีเจอร์ Windows แอปพลิเคชันบนเดสก์ท็อปที่มีระบบนิเวศขนาดใหญ่ |
| WindowsUI 3 | แอปพลิเคชันใหม่ที่มุ่งเป้าไปที่ยุคสมัยใหม่ Windows 11 รูปลักษณ์และความรู้สึก |
| .NET เมา | แอปพลิเคชันข้ามแพลตฟอร์มที่ครอบคลุม Windows, macOS, Androidและ iOS |
เนื่องจาก WPF ได้รับการดูแลรักษาอย่างต่อเนื่องและถูกนำไปใช้ในซอฟต์แวร์ระดับองค์กรอย่างลึกซึ้ง การเรียนรู้ WPF จึงยังคงเป็นการลงทุนที่คุ้มค่า เมื่อคุณคุ้นเคยกับการสร้างแอปพลิเคชันเหล่านี้แล้ว การฝึกฝนการใช้งานที่พบบ่อยที่สุดก็คุ้มค่าเช่นกัน คำถามสัมภาษณ์งาน WPF เพื่อกำหนดแนวคิดต่างๆ เช่น XAML, การผูกข้อมูล และโครงสร้างภาพให้คงที่









