मैं एमवीवीएम के लिए नया हूं और मैंने आगे बढ़ने का फैसला किया है और मेरी आगामी परियोजनाओं में इसे अपनाना शुरू कर दिया है।एमवीवीएम में व्यू मोड और एडिट मोड के बीच स्विचिंग?
मैंने इस संबंधित प्रश्न और उत्तर को पढ़ा है, लेकिन मुझे नहीं पता कि यह एमवीवीएम के साथ कैसे लागू किया जाएगा।
मैं अपने प्रोजेक्ट में सभी विचारों को 2 मोड, संपादन मोड और व्यू मोड के लिए चाहता हूं।
मैं नहीं चाहता कि उपयोगकर्ता सभी क्षेत्रों के लिए टेक्स्टबॉक्स को डिफ़ॉल्ट रूप से देखना चाहें, मैं चाहता हूं कि वे टेक्स्टब्लॉक देखें (या सभी TextBoxe
एस 'को IsReadOnly
संपत्ति के रूप में सत्य (शैली आदि के माध्यम से आप मुझे बताएं ..)
जब उपयोगकर्ता इकाई खोलता है तो आमतौर पर टेक्स्टब्लॉक, लेबल (या केवल टेक्स्टबॉक्स) आदि होना चाहिए, और यदि वह "संपादित करें" पर क्लिक करता है (यदि उसे अनुमति है), तो इसे संपादन मोड जाना चाहिए, और सभी फ़ील्ड के लेबल को टेक्स्टबॉक्स (रिचटेक्स्टबॉक्स आदि), कॉम्बोबॉक्स या किसी अन्य संपादन योग्य फ़ील्ड में उलटा जाना चाहिए जो कि केवल लेबल नहीं हैं)
मुझे पूरा यकीन है कि मैं इस मुद्दे के साथ अकेला नहीं हूं, मैं सुनना चाहता हूं विशेषज्ञों से बी स्विच करने का सबसे प्रभावी तरीका क्या है शुद्ध मोड में इन मोड के बीच, और इसके लिए दो अलग-अलग विचार घोषित करना आम है या नहीं।
कृपया मुझे एक अच्छा लेख देखें जो बताता है कि यह कैसे करें (शायद यह विजुअल स्टेट द्वारा किया जाता है ?? आईडीके)।
अद्यतन
मैं जानना चाहता हूँ क्या नहीं बल्कि कैसे की तुलना में, मेरे सवाल का पैटर्न के बारे में है, और मैं या तो वी या वी एम पर संपादन मोड बांट देना चाहिए देखें मोड से है? तो कृपया अपने उत्तर में इस विवरण पर जोर दें।
अग्रिम धन्यवाद। true
को
public bool IsViewMode
{
get { return _IsViewMode; }
set
{
_IsViewMode= value;
// Call NotifyPropertyChanged when the source property is updated.
NotifyPropertyChanged("IsViewMode");
}
}
IsViewMode
चूक और चालू किया जाये:
और अन्य क्षेत्रों के बारे में क्या? मैंने कहा कि मैं कुछ फ़ील्ड को ड्रॉपडाउन में घुमाने के लिए चाहता हूं, कुछ स्लाइडर पर, कुछ डेट पिकर के लिए, जबकि व्यू मोड में वे सभी साधारण टेक्स्टब्लॉक/लेबल हैं? और यह मेरे लिए एक बहुत ही अनिवार्य हिस्सा है। – Shimmy
@Shimmy - क्षमा करें, मुझे उस बिट को याद आया (क्यों नहीं पता)। आप कॉम्बोबॉक्स के लिए भी ऐसा ही कर सकते हैं, लेकिन यह 'IsEnabled' संपत्ति हो सकती है जिसे आपको बाध्य करने की आवश्यकता है। – ChrisF
तो तुम मूल रूप से कह रहे हैं मैं संपादित/दृश्य मोड के लिए एक आम दृश्य करना चाहिए, सभी नियंत्रण होने वीएम पर IsViewMode को IsReadOnly या दृश्यता नियंत्रण स्थापित करने (BooleanToVisibility कनवर्टर का उपयोग कर नियंत्रण को छिपाने के लिए के लिए) अन्य के पास से एक घोषित, है कि सही? ** मैंने अपने प्रश्न में कुछ सामग्री जोड़ दी है। ** – Shimmy