2013-05-13 7 views
5

में समग्र विचार मेरे पास एक डब्ल्यूपीएफ एमवीवीएम एप्लीकेशन है जिसे मैं एंड्रॉइड कार्यान्वयन के लिए डब्ल्यूपीएफ और मोनो का समर्थन करने के लिए एमवीवीएमक्रॉस का उपयोग करने के लिए रिफैक्टर करना चाहता हूं।एमवीवीएमक्रॉस

  • एक उपकरण पट्टी हमेशा दिखाई
  • एक नेविगेशन बार क्षेत्र
  • एक मुख्य दृश्य क्षेत्र
  • एक पॉपअप विंडो क्षेत्र

प्रत्येक है कि:

हमारे आवेदन के विचारों के होते हैं इन क्षेत्रों में से मुख्य एप्लिकेशन विंडो पर UserControl है और एक UiService बस प्रत्येक क्षेत्र में दृश्यों को बदल देता है। पॉप-अप विंडो के मामले में, यह भी मुख्य विंडो पर उपयोगकर्ता नियंत्रण है जो UiService को कॉल या छुपाएं कॉल पर दृश्यता में परिवर्तन करता है। UiService भी एक संदर्भ पैरामीटर स्वीकार करता है जो दिखाए जाने के लिए दृश्य मॉडल में राज्य की जानकारी को पारित करने की अनुमति देता है।

मुख्य विचार आमतौर पर कई बच्चे के विचारों का एक समग्र होते हैं। इन मामलों में, मुख्य दृश्य मॉडल बाल दृश्य मॉडल बनाता है जो गुणों के रूप में सामने आते हैं। मुख्य दृश्य इन गुणों को बाल विचारों के डेटा संदर्भ के रूप में सेट करता है।

मुझे लगता है कि एमवीएमएमक्रॉस निश्चित रूप से इस शैली के समग्र विचारों का समर्थन करेगा, लेकिन मुझे इस तरह का एक उदाहरण नहीं मिला। क्या कोई प्रासंगिक एमवीवीएमक्रॉस उदाहरण हैं? MvvmCross में लागू करने के लिए अनुशंसित दृष्टिकोण क्या होगा?

उत्तर

6

मुझे लगता है कि एमवीएमएमक्रॉस निश्चित रूप से इस शैली के समग्र विचारों का समर्थन करेगा, लेकिन मुझे ऐसा कोई उदाहरण नहीं मिला। क्या कोई प्रासंगिक एमवीवीएमक्रॉस उदाहरण हैं? MvvmCross में लागू करने के लिए अनुशंसित दृष्टिकोण क्या होगा?

मोबाइल शैली के लिए यह दृश्य दृश्य डिफ़ॉल्ट नहीं है - अधिकांश मोबाइल ऐप्स पृष्ठ-आधारित हैं।

हालांकि, समग्र दृश्य टेबलेट ऐप्स में तेजी से आम होते जा रहे हैं - और यहां तक ​​कि मोबाइल ऐप्स में उनके अपवाद भी हैं - उदा। टैब, पैनोरामा, फ्लाईआउट, आदि

विभिन्न प्रकार के डिस्प्ले की अनुमति देने के लिए, प्रत्येक एमवीवीएमक्रॉस यूआई प्लेटफ़ॉर्म presenter प्रदान करता है जिसे आप अनुकूलित करने के लिए अनुकूलित कर सकते हैं।

यह presenter कक्षा है जहां आप चुन सकते हैं कि आप अपना व्यू मॉड्यूल और दृश्य कैसे पेश करना चाहते हैं। साथ ही, क्योंकि यह केवल एक सी # वर्ग है, यह इस जिम्मेदारी को कई अन्य ऑब्जेक्ट्स के रूप में प्रस्तुत कर सकता है, जो आपको चाहता है, जिससे आप पैनलों, फ्लाईआउट्स, टैब, एम्बेडेड नेविगेशनस्टैक इत्यादि के जटिल जटिल पैटर्न का निर्माण कर सकें।

कुछ के लिए https://github.com/slodge/MvvmCross-Tutorials/tree/master/Sample%20-%20TwitterSearch

+0

... ट्विटर एपीआई अप्रचलित है जिसका उपयोग नमूना में किया जाता है - ट्विटर खोज 'ट्विटर रीस्ट एपीआई v1 अब सक्रिय नहीं है। कृपया एपीआई v1.1 में माइग्रेट करें। https: // dev.twitter.com/docs/api/1.1/overview.' – Syska

2

याद रखें कि आप किसी पर 2 ViewModels दिखा सकते हैं - https://speakerdeck.com/cirrious/presenters-in-mvvmcross

WPF और iOS TwitterSearch उदाहरण एक अच्छी जगह इस पर शुरू करने के लिए हो सकता है - इस पर जानकारी, कुछ नमूने के लिंक सहित, इस स्लाइड डेक देखना दिया गया आदेश

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

फिर आप संबंधित विचारों के लेआउट को सौंपने के लिए एक कस्टम प्रस्तुतकर्ता बना सकते हैं।

यह आसान लगता है (और यह है) लेकिन इसे समझने में मुझे कुछ समय लगा। ट्विटर खोज ट्यूटोरियल में दिखाया गया समाधान स्टुअर्ट का उल्लेख

2

मैंने एक प्लगइन बनाया है जो कस्टम व्यूअर का उपयोग करता है ताकि एकाधिक व्यूमोडल्स को UserControls के समान पृष्ठ पर दिखाया जा सके। यह भी सामान्य दृश्य नेविगेशन की अनुमति देते हैं, तो आप WPF, Andoid टेबलेट, Windows स्टोर या iPad पर एक समग्र दृश्य दिखाई देते हैं करने के लिए सटीक दृश्य मॉडल का उपयोग कर सकते हैं और मोबाइल उपकरणों पर पृष्ठों नेविगेशन: बस एक नोट

https://github.com/ChristianRuiz/MvvmCross-ControlsNavigation

संबंधित मुद्दे