xaml - बाइंडिंग और x: बिंद के बीच अंतर




data-binding win-universal-app (2)

निम्नलिखित शायद पूर्ण नहीं है, लेकिन कुछ प्रमुख अंतर हैं

  • पुरानी शैली {Binding }

    • DataContext को बांधता है
    • एक संपत्ति के नाम पर बांधता है, वास्तविक स्रोत प्रकार के बारे में लचीला है


  • नई शैली {x:Bind }
    • फ्रेमवर्क तत्व के लिए बाध्य (कोड-पीछे वर्ग)
    • संकलन के समय सभी प्रकार की जरूरत है
    • अधिक मितव्ययी वनटाइम मोड में चूक

और निर्माण 14393 , {x:Bind } साथ शुरू होता है:

  • प्रत्यक्ष BooleanToVisibility बाइंडिंग, एक ValueConverter के बिना
  • विस्तारित समारोह बंधन
  • ढलाई
  • शब्दकोश सूचकांक

नया {x: Bind} रनटाइम के दौरान थोड़ा तेज है, लेकिन महत्वपूर्ण है कि यह गलत बाइंडिंग के लिए संकलक त्रुटियां देगा। {बाध्यकारी} के साथ आप ज्यादातर मामलों में एक खाली नियंत्रण देखेंगे।

UWP, Binding या x:Bind में क्या उपयोग करें x:Bind और उनके बीच क्या अंतर है?

क्योंकि मुझे बहुत सारे पोस्ट दिखाई देते हैं जहाँ लोग Binding उपयोग करते हैं और मैं केवल x:Bind साथ बाइंड करता हूं x:Bind UWP में x:Bind

MSDN होमपेज पर यह केवल यह कहता है कि " {x:Bind} और {Binding} द्वारा बनाई गई बाध्यकारी वस्तुएं काफी हद तक कार्यात्मक समतुल्य हैं।" और वह x:Bind तेज है

लेकिन उनमें क्या अंतर है?

क्योंकि "मोटे तौर पर कार्यात्मक रूप से समतुल्य" का अर्थ समकक्ष नहीं है।

मेरे उद्धरण से लिंक: MSDN

तो मेरा प्रश्न है:

बाइंडिंग या x: UWP में बाइंड करने में क्या अंतर है?


{x:Bind} विशेष-उद्देश्य कोड निष्पादित करता है, जो यह संकलन-समय पर उत्पन्न करता है। {Binding} सामान्य-उद्देश्य रनटाइम ऑब्जेक्ट निरीक्षण का उपयोग करता है। नतीजतन, {x:Bind} में शानदार प्रदर्शन है और यह आपके बाध्यकारी भावों का संकलन-समय सत्यापन प्रदान करता है। यह आपके पेज के लिए आंशिक वर्ग के रूप में उत्पन्न कोड फ़ाइलों में ब्रेकपॉइंट सेट करने के लिए सक्षम करके डिबगिंग का समर्थन करता है।

क्योंकि {x:Bind} अपने लाभों को प्राप्त करने के लिए उत्पन्न कोड का उपयोग करता है, इसके लिए संकलन समय पर टाइप जानकारी की आवश्यकता होती है। इसका मतलब यह है कि आप उन संपत्तियों से नहीं जुड़ सकते हैं जहाँ आप समय से पहले के प्रकार को नहीं जानते हैं। इस वजह से, आप DataContext प्रॉपर्टी के साथ {x:Bind} उपयोग नहीं कर सकते हैं, जो टाइप ऑब्जेक्ट का है, और रन टाइम पर बदलने के अधीन भी है। {x:Bind} मार्कअप एक्सटेंशन- विंडोज 10 के लिए {Binding} विकल्प है। {x:Bind} में {Binding} की कुछ विशेषताओं का अभाव है, लेकिन यह {Binding} तुलना में कम समय और कम मेमोरी में चलता है और बेहतर डिबगिंग का समर्थन करता है।







uwp