ฉันพบบทความนี้มีประโยชน์มากhttp://www.japf.fr/2009/10/a-quick-tour-of-existing-mvvm-frameworks/ดังนั้นฉันจึงนำมาไว้ที่นี่สำหรับผู้ใช้ที่กำลังจะมาถึง
ฉันอัปเดตส่วน Cinch และเพิ่มการสนับสนุน Silverlight ให้กับคุณสมบัติต่างๆ
ฉันขอโทษสำหรับเรื่องราวที่ยาวนาน
คุณสมบัติทั่วไป:
•คลาส ViewModelBase (สำหรับการใช้งานอินเทอร์เฟซ INotifyPropertyChanged)
RelayCommand เช่นคลาสสั่งลิงค์ UI ไปยังตัวจัดการของ ViewModel
•การทดสอบหน่วยมาพร้อมกับกรอบงาน
ของแน่นอน
•ผู้แต่ง: Sacha Barber
•การสนับสนุน Silverlight: ไม่ (Cinch เวอร์ชัน 2 รองรับ Silverlight)
•เอกสาร: ยอดเยี่ยมบทความ 6 บทความที่เผยแพร่บน CodeProject
•โฮสติ้ง: CodePlex
•สิทธิ์ใช้งาน: รหัสโครงการ Open License
•คุณสมบัติ:
พฤติกรรมที่แนบมา
การตรวจสอบโดยใช้ IDataErrorInfo
รองรับ IEditableObject
การสร้างกิจกรรมที่อ่อนแอและการสมัครสมาชิก
ข้อความสื่อกลางโดยใช้เหตุการณ์ที่อ่อนแอ
รองรับ IOC / DI (ใช้ Unity)
บริการ: ตัวบันทึกเหตุการณ์กล่องข้อความเปิดกล่องโต้ตอบบันทึกป๊อปอัพ
เกลียวช่วยเหลือ
รองรับรายการเมนู
มุมมองรุ่นใกล้
ตัวสร้างโค้ด MVVM
ชุดเครื่องมือ MVVM Light
•ผู้แต่ง: Laurent Bugnion
•การสนับสนุน Silverlight: ใช่
•เอกสาร: บทความมากมายที่มีอยู่ในบล็อกของ Laurent + นักพัฒนาอื่น ๆ เช่นกัน
•โฮสติ้ง: CodePlex
ใบอนุญาต: ใบอนุญาต MIT
•คุณสมบัติ:
ตัวติดตั้ง MSI
VS โปรเจ็กต์และเท็มเพลตไอเท็ม
ตัวอย่างโค้ด VS
ระบบ Messenger สำหรับการสื่อสารระหว่างมุมมองโมเดล
การจัดการเหตุการณ์เป็นคำสั่ง
ผู้ช่วยเหลือ MVVM
•ผู้แต่ง: Mark Smith
•การสนับสนุน Silverlight: ไม่
•เอกสารประกอบ: บางบทความในบล็อกของมาร์ค
•โฮสติ้ง: เว็บไซต์ส่วนตัว
•ใบอนุญาต: ไม่ได้กำหนดไว้
•คุณสมบัติ:
พฤติกรรมที่แนบมา
การสร้าง viewmodel โดยใช้ส่วนขยายมาร์กอัป
การตรวจสอบตามคุณสมบัติ
IOC / DI โดยใช้วิธี ServiceProvider
มุมมอง
รอเคอร์เซอร์ (ใช้ WaitCursor ใหม่ () {// รหัสของคุณที่นี่})
มูลนิธิ MVVM
•ผู้แต่ง: Josh Smith
•การสนับสนุน Silverlight: ไม่
•เอกสารประกอบ: บทความเกี่ยวกับการใช้ Messenger ในบล็อกของ Josh หรือ Marlon Grech
•โฮสติ้ง: CodePlex
•ใบอนุญาต: MS-PL
•คุณสมบัติ:
ระบบ Messenger สำหรับการสื่อสารระหว่างมุมมองโมเดล
การตรวจสอบเหตุการณ์ PropertyChanged
Caliburn
•ผู้แต่ง: Rob Eisenberg
•การสนับสนุน Silverlight: ใช่
•เอกสาร: มีเอกสารออนไลน์ที่สมบูรณ์
•โฮสติ้ง: CodePlex http://www.codeplex.com/caliburn
ใบอนุญาต: ใบอนุญาต MIT
•คุณสมบัติ:
คำสั่งถูกสร้างขึ้นที่ด้านบนของการดำเนินการและแบ่งปันคุณสมบัติเดียวกันหลายประการรวมถึงพารามิเตอร์อินพุตหลายตัวกรองและการดำเนินการแบบอะซิงโครนัสอัตโนมัติ
ผู้นำเสนอที่จัดการกับปัญหาวงจรชีวิต UI เช่นการจัดการการเปิดใช้งานการปิดใช้งานและซีแมนทิกส์การปิดระบบสำหรับองค์ประกอบ UI ต่างๆ
แอปพลิเคชั่น Caliburn สามารถทดสอบได้อย่างสมบูรณ์
โปรแกรมอรรถประโยชน์ต่าง ๆ เช่นตัวจัดการงานพื้นหลัง
รองรับรูปแบบ UI ต่างๆ (ไม่ใช่ MVVM เท่านั้น)
ภาชนะฉีดพึ่งพา
มีสีดำ
•ผู้แต่ง: William e Kempf
•การสนับสนุน Silverlight: ไม่
•เอกสารประกอบ: การแนะนำเบื้องต้นมีอยู่ใน CodePlex
•โฮสติ้ง: CodePlex
•ใบอนุญาต: ไม่ได้ระบุ
•คุณสมบัติ:
รูปแบบ ServiceLocator
การสร้าง ViewModel โดยใช้ส่วนขยายมาร์กอัปที่กำหนดเอง
บริการที่เกี่ยวข้องกับ UI เช่น IDisplayMessage
แคลเซียม
•ผู้แต่ง: Daniel Vaughan
•การสนับสนุน Silverlight: ไม่
•เอกสารประกอบ: 2 บทความโดยละเอียดเกี่ยวกับ CodeProject (ตอนที่ 1 และตอนที่ 2)
•โฮสติ้ง: CodePlex
•ใบอนุญาต: ใช้คัดลอกแก้ไขและ / หรือแจกจ่ายและเก็บลิขสิทธิ์!
•คุณสมบัติ:
ผู้จัดการโมดูลสำหรับการเปิดใช้งานหรือปิดการใช้งานโมดูลที่รันไทม์
บริการส่งข้อความสำหรับการโต้ตอบกับผู้ใช้จากไคลเอนต์หรือเซิร์ฟเวอร์โดยใช้ API เดียวกัน
Command Service เพื่อเชื่อมโยง WPF ICommands กับส่วนต่อประสานเนื้อหาที่จะเปิดใช้งานเฉพาะเมื่อมุมมองที่ใช้งานอยู่หรือ viewmodel ใช้อินเทอร์เฟซ
อะแดปเตอร์ภูมิภาคสำหรับแถบเครื่องมือและเมนู
การบันทึกไคลเอนต์เซิร์ฟเวอร์พร้อมที่จะทำงานนอกกรอบ
รวมถึงโมดูลเช่นเว็บเบราว์เซอร์ตัวแก้ไขข้อความหน้าต่างผลลัพธ์และอื่น ๆ อีกมากมาย
ส่วนต่อประสานแบบแท็บพร้อมตัวบ่งชี้ไฟล์สกปรก (นำมาใช้ใหม่ได้ระหว่างโมดูล)
nRoute
•ผู้แต่ง: ฤishiษี
•การสนับสนุน Silverlight: ใช่
•เอกสาร: บทความมากมายที่มีอยู่ในบล็อกของผู้เขียน (ดูหน้าแรกของโครงการ CodePlex สำหรับลิงก์)
•โฮสติ้ง: CodePlex
•ใบอนุญาต: MS-PL
•คุณสมบัติ:
รองรับพฤติกรรมและทริกเกอร์ของโมเดล Blend3
กรอบตัวระบุตำแหน่งทรัพยากร
ดูบริการ: OpenFileDialog, ShowMessage ...
ใช้แอตทริบิวต์เพื่อแมปมุมมองและ ViewModel ร่วมกัน
Nito MVVM
•ผู้แต่ง: Shammah
•การสนับสนุน Silverlight: ไม่
•เอกสาร: ไม่มี
•โฮสติ้ง: CodePlex
•ใบอนุญาต: ไม่ได้ระบุ
•คุณสมบัติ:
- การใช้งานที่เป็นมิตร MVVM ต่างๆของส่วนต่อประสาน ICommand
มหาสมุทร
•ผู้แต่ง: Karl Shifflet
•การสนับสนุน Silverlight: ไม่
•เอกสาร: บทความที่มีอยู่ในบล็อกของ Karl
•โฮสติ้ง: เว็บไซต์ส่วนตัว
•ใบอนุญาต: ไม่ได้ระบุ
•คุณสมบัติ:
เขียนใน VB.Net
การตรวจสอบตามคุณสมบัติ
คลาสพื้นฐาน viewmodel: relaycommand, closeableviewmodel …
ชั้นการเข้าถึงข้อมูลของเซิร์ฟเวอร์ SQL
กรอบ MVVM พื้นฐาน
•ผู้แต่ง: Lester Lobo
•การสนับสนุน Silverlight: ไม่
•เอกสาร: ตัวอย่างแอปพลิเคชันที่มีอยู่ในห้องสมุด
•โฮสติ้ง: CodePlex
•ใบอนุญาต: MS-PL
•คุณสมบัติ:
การมอบหมายคำสั่ง \ Keybinding
การส่งข้อความระหว่าง VM
การจัดการเหตุการณ์เป็นคำสั่งที่มีพฤติกรรมที่แนบมา
กล่องโต้ตอบการจัดการ (และอื่น ๆ ) เป็นบริการ
ตัวอย่างโค้ด VS
GoodLight
•ผู้แต่ง: Peter O'Hanlon •การสนับสนุน Silverlight: ใช่
•เอกสาร: ตัวอย่างแอปพลิเคชันที่มีอยู่ในห้องสมุด
•โฮสติ้ง: CodePlex
•ใบอนุญาต: MS-PL
•คุณสมบัติ:
การจัดการ“ พื้นที่ทำงาน” (ชุดเอกสารที่สามารถปิดได้)
สนับสนุนผิว
การส่งข้อความระหว่าง VM