/ / एमवीवीएम पैटर्न का उपयोग करके UWP में एक ViewModel द्वारा मॉडल वर्ग के गुणों में किए गए परिवर्तनों के बारे में सभी ViewModels को सूचित कैसे करें

एमवीवीएम पैटर्न का उपयोग करते हुए यूडब्ल्यूपी में एक व्यू मॉडेल द्वारा मॉडल क्लास के गुणों में किए गए परिवर्तनों के बारे में सभी व्यू मॉड्यूल को कैसे सूचित करें - uwp

मान लीजिए मेरे पास दो ViewModels हैं और दोनों उपयोग कर रहे हैंसमान मॉडल वर्ग। यदि कोई ViewModel मॉडल वर्ग में कुछ संपत्ति मूल्य को बदलता है, तो मैं उसी को दूसरे ViewModel को सूचित करना चाहता हूं, ताकि मैं इसे फिर से ताज़ा किए बिना दृश्य में परिवर्तन दिखा सकूं।

Model<-------->ViewModel 1
^
|------------>ViewModel 2

कृपया मेरी मदद करें, एमवीवीएम पैटर्न का उपयोग करके इसे कैसे लागू करें (मॉडल <---> ViewModel (एस) टू-वे बाइंडिंग)? और अगर कोई और तरीका है जो अधिक संभव है, तो बहुत धन्यवाद होगा।

उत्तर:

उत्तर № 1 के लिए 1

मुझे लगता है कि आपने गलत समझा Model<--->ViewModel(s) Two-Way binding, वास्तव में बाध्यकारी स्रोत कम से कम मॉडल का एक उदाहरण होना चाहिए, DataContext ViewModel होना चाहिए जिसमें मॉडल का यह उदाहरण है, हम मॉडल को सीधे बाध्यकारी लक्ष्य के लिए बांध नहीं सकते हैं।

मुझे लगता है कि जब आपको डेटा की आवश्यकता होती है तो आप क्या चाहते हैंViewModel1 में बदल गया है, अन्य ViewModels इसे अधिसूचित और प्रतिक्रिया दे सकता है, और आपने यह काम मैन्युअल रूप से ताज़ा करके किया होगा और आप दूसरा तरीका खोजना चाहते हैं।

एमवीवीएम पैटर्न में ऐसा करने का एक आसान तरीका है, आप मैसेंजर ऑफ का उपयोग कर सकते हैं एमवीवीएम लाइट, आप एसओ पर इस प्रश्न का उल्लेख कर सकते हैं: देखने के मॉडल के बीच मान पारित करने के लिए MVVM लाइट के मैसेंजर का उपयोग करें.