मैं एमवीवीएम के लिए मामूली नया हूं और मैं xaml के पीछे सरल कोड पर एमवीवीएम के कुछ लाभों को समझता हूं (उदाहरण के लिए वीएम की टेस्टेबिलिटी)। हम कुछ बाध्यकारी करने के लिए कैलिबर्न माइक्रो का उपयोग कर रहे हैं लेकिन यह अप्रासंगिक है, मैं विशिष्ट बाध्यकारी {बाध्यकारी ...} का उपयोग कर सकता हूं और मेरा प्रश्न उतना ही कम रहेगा।बाइंडिंग की समय जांच संकलित करें?
मैं तर्क समझता हूं कि वीएम को वी के कुछ भी नहीं पता होना चाहिए अगर सबकुछ ठीक से किया जाता है, लेकिन ऐसा लगता है कि हम वी और वीएम के बीच गतिशील रन टाइम बाध्यकारी का उपयोग कर रहे हैं कि संकलक पर कोई जांच नहीं कर सकता प्रत्येक बाध्यकारी अभिव्यक्ति की वैधता। उदाहरण के लिए यदि मेरे पास उपयोगकर्ता नाम नामक यूआई घटक है तो कैलिबर्न उस समय VM प्रॉपर्टी को बाध्य करने का प्रयास करेगा जिसे उपयोगकर्ता नाम को रन टाइम पर (वैल्यू = "{बाइंडिंग उपयोगकर्ता नाम}" जैसा कुछ करने के समान होगा)। हालांकि अगर मैं अपनी वीएम संपत्ति का नाम बदलता हूं या यूआई घटक नाम या बाध्यकारी अभिव्यक्ति को गलत वर्तनी देता हूं तो हमें रन टाइम तक किसी समस्या का कोई संकेत नहीं मिलता है।
ऐसा लगता है कि यह वास्तव में अच्छा होगा कि xaml को यह बताने में सक्षम होना चाहिए कि यूआई घटक या पृष्ठ एक विशिष्ट इंटरफ़ेस से बंधे जा रहे हैं ताकि संकलक कुछ अन्य काम कर सके जो अन्यथा परीक्षण विभाग द्वारा किया जाना (और फिर से किया जाना) (और यह मुझे अक्सर होता है)।
क्या xaml को बताने का कोई तरीका है कि हम किसी इंटरफ़ेस या ऑब्जेक्ट प्रकार से बाध्यकारी हैं? क्या कोई ऐसा उपकरण है जो बाइंडिंग को मान्य करने के लिए xaml एप्लिकेशन में प्लग कर सकता है?
-1: ओपी ने संकलन समय पर एक समाधान के लिए स्पष्ट रूप से पूछा। –
आह ... यह एक विकल्प है –
यह नहीं है। ओपी पहले से ही इस बारे में जानता है और इसका उपयोग नहीं करना चाहता। –