मैं एक बड़े एमवीवीएम अनुप्रयोग पर काम कर रहा हूं। मैं इसके लिए एमवीवीएम लाइट टूलकिट का उपयोग कर रहा हूं। एप्लिकेशन बैक और फॉरवर्ड बटन वाले वेब ब्राउजर की तरह है। मुख्य दृश्य एक उपयोगकर्ता नियंत्रण है। मैंने मुख्य दृश्य उपयोगकर्ता नियंत्रण में बैक और फॉरवर्ड बटन रखे। बदले में मुख्य दृश्य में उपयोगकर्ता नियंत्रण होता है। बैक और फॉरवर्ड बटन क्लिक होने पर उपयोगकर्ता नियंत्रण बदलता है। मुख्य व्यूमोडेल वर्तमान उपयोगकर्ता नियंत्रण का ट्रैक रखता है और बटन क्लिक के आधार पर अगला लोड करता है।एमवीवीएम: संचार
ये सभी उपयोगकर्ता नियंत्रण पहले चरण में किए गए चयन (आईडी) के आधार पर लोड किए जाते हैं। आइए कहें, मुख्य दृश्य एक खोज स्क्रीन है और हम एक ग्राहक का चयन करते हैं। अगली स्क्रीन पता, बिलिंग, अनुरोध आदि होगी। ये स्क्रीन किसी भी डेटा को साझा नहीं करती हैं। लेकिन डेटा एक ही ग्राहक के लिए है।
तो क्या यह मुख्य विचार में ग्राहक आईडी को स्टोर करने के लिए एक अच्छा अभ्यास है? यदि मैं ऐसा करता हूं, तो मेरे पास एक UserControl_Loaded ईवेंट कमांड से बंधे होना चाहिए, जहां मैं पता और बिलिंग जानकारी के लिए अनुरोध करता हूं।
या मैं मुख्य दृश्य की बजाय प्रत्येक उपयोगकर्ता नियंत्रण में बटन (पीछे और आगे बटन) स्थानांतरित कर सकता हूं, उस संदेश के साथ ग्राहक आईडी पास करें जो अगला दृश्य लोड करेगा।
कौन सा बेहतर है?
चीजों को कम करने के लिए, आदेशों का उपयोग करने के बजाय 'ग्राहक चयन' संदेशों को प्रकाशित करने के लिए एमवीवीएम लाइट 'मैसेंजर' का उपयोग करने पर विचार करें। आपके अन्य नियंत्रण तब इस संदेश की सदस्यता ले सकते हैं। –
इस पर मेरा अंतर्निहित विचार था, यदि स्रोत (वर्तमान दृश्य) के आधार पर बैक और फॉरवर्ड बटन मुख्य दृश्य में हैं, तो मुझे दृश्य मॉडल पर एक संदेश भेजने की आवश्यकता है। मैं इससे बचना चाहता था (वर्तमान दृश्य के आधार पर मुख्य दृश्य से एक संदेश भेजना)। तो मैं User_Control लोडेड घटना के बारे में सोच रहा था। – katie77
आप एक संदेश भेजने से बचना क्यों चाहते हैं? –