ฉันกำลังพัฒนาแอปพลิเคชัน WPF MVVM Light ฉันต้องการแสดงกล่องข้อความ/กล่องโต้ตอบ หรือมีสถานการณ์อื่นๆ บางอย่างที่ฉันต้องการให้โมเดล View ของฉันสื่อสารกับมุมมองหรือเพิ่มเหตุการณ์บางอย่างในมุมมองที่เกี่ยวข้อง
ฉันจะบรรลุเป้าหมายนั้นได้อย่างไร?
ฉันกำลังพัฒนาแอปพลิเคชัน WPF MVVM Light ฉันต้องการแสดงกล่องข้อความ/กล่องโต้ตอบ หรือมีสถานการณ์อื่นๆ บางอย่างที่ฉันต้องการให้โมเดล View ของฉันสื่อสารกับมุมมองหรือเพิ่มเหตุการณ์บางอย่างในมุมมองที่เกี่ยวข้อง
ฉันจะบรรลุเป้าหมายนั้นได้อย่างไร?
ดูคลาส Messenger ของ MVVM Light ควรมีตัวอย่างเป็นค่าเริ่มต้นเมื่อคุณดาวน์โหลดไฟ MVVM มันเหมือนกับ Messenger.Default.Send(new YourMessageClass()) และคุณสามารถลงทะเบียน Listener ได้ที่ View side
กรอบปริซึมมีแนวคิดของการร้องขอการโต้ตอบเพื่อแก้ไขปัญหานี้ ตัวอย่างที่ดีสามารถพบได้ ที่นี่ หรือ ที่นี่ ก>.
ความรับผิดชอบในการแสดงป๊อปอัปไม่ควรเป็นความรับผิดชอบของ ViewModel แต่เป็น "บริการที่ดูแลมันให้คุณ"
หาก "หน้าต่างป๊อปอัป" เป็นกิริยาช่วยเหมือนหน้าต่างเช่น "กล่องโต้ตอบเปิดไฟล์", "กล่องโต้ตอบบันทึกไฟล์", กล่องข้อความ "ตกลง/ยกเลิก" หรือ "ใช่/ไม่ใช่" ฯลฯ ฉันเชื่อว่า "บริการ" จะเป็น ทางเลือกที่เหมาะสม เหตุผลก็คือบริการสามารถ facked/mocked สำหรับการทดสอบหน่วยได้
นอกจากนี้คุณยังสามารถใช้บริการนี้ที่แตกต่างกันได้ขึ้นอยู่กับสิ่งที่คุณต้องการ: ในการแก้ไขข้อบกพร่อง (r เมื่อบทบาทเป็นประเภทผู้ดูแลระบบหรือนักพัฒนา) คุณจะมีข้อมูล "ละเอียด" มากกว่าในรุ่นหรือผู้ใช้ทั่วไป เป็นต้น
ตอนนี้สำหรับ "ViewModel สื่อสารกับ View อย่างไร" ฉันไม่แน่ใจว่าคุณหมายถึงอะไร เพียงเพิ่มคุณสมบัติบน ViewModel และผูกมุมมองเข้ากับคุณสมบัตินั้น