MSDN says,केवल निर्भरता प्रॉपर्टी के साथ बाध्यकारी काम करता है?
प्रत्येक बंधन आम तौर पर इन चार घटक हैं: एक बाध्यकारी लक्ष्य वस्तु, एक लक्ष्य संपत्ति, एक बाध्यकारी स्रोत, और बाध्यकारी स्रोत का उपयोग करने के मूल्य के लिए एक पथ। उदाहरण के लिए, यदि आप एक कर्मचारी ऑब्जेक्ट का नाम संपत्ति के लिए एक पाठ बॉक्स की सामग्री को बाध्य करने के लिए चाहते हैं, अपने लक्ष्य वस्तु है पाठ बॉक्स, लक्ष्य संपत्ति पाठ संपत्ति है, उपयोग करने के लिए मूल्य है नाम, और स्रोत ऑब्जेक्ट कर्मचारी ऑब्जेक्ट है।
लक्षित संपत्ति एक निर्भरता संपत्ति होना चाहिए।
ऊपर अंश क्यों निम्नलिखित कोड काम करता है बताते हैं,
<TextBox Text="{Binding EmployeeName}">
यह काम करता है क्योंकि पाठ निर्भरता संपत्ति है। इस बिंदु तक, सबकुछ ठीक है!
मेरा प्रश्न है,
यदि लक्ष्य संपत्ति बाइंडिंग काम करने के लिए एक निर्भरता संपत्ति होना चाहिए, तो कैसे folllowing सेटर काम करता है? कृपया ध्यान दें कि मूल्य सेटर में निर्भरता संपत्ति नहीं है!
<Style TargetType="{x:Type TextBox}">
<Setter Property="Text" Value="{Binding EmployeeName}"/>
</Style>
मैं इसके लिए एक व्याख्या है। लेकिन मुझे यकीन नहीं है कि यह सही है या नहीं। मुझे पहले इसे समझाएं, और फिर, यदि आप गलत हैं तो आप लोग मुझे सही करते हैं। :-)
मुझे लगता है, मूल्य की प्रकार के बाद से वस्तु, इसका मतलब है कि, यह किसी भी प्रकार की घटनाओं को पकड़ कर सकते हैं। यह बाध्यकारी प्रकार का एक उदाहरण भी हो सकता है। हालांकि, यह बाइंडिंग अभिव्यक्ति का मूल्यांकन (या हल करने) की प्रक्रिया में भाग नहीं ले सकता है, क्योंकि यह एक निर्भरता संपत्ति नहीं है। तो स्टाइल ऑब्जेक्ट बस बाध्यकारी मान का मूल्यांकन/समाधान किए बिना, सेटर से टेक्स्टबॉक्स तक इस बाध्यकारी ऑब्जेक्ट (जो मान रखता है) को स्थानांतरित करता है। इस तरह के ऊपर सेटर इस के बराबर हो जाता है:
Text="{Binding EmployeeName}"
और अब के बाद से, पाठ निर्भरता संपत्ति है, यह बाध्यकारी मूल्य हल कर सकते हैं। तो यह पहली बार प्रकट होता है कि बाध्यकारी का लक्ष्य मूल्य है, लेकिन हकीकत में, पाठ बाध्यकारी का लक्ष्य है।
ऐसा लगता है कि सेटर एक डाकिया है, मूल्य स्वयं डाकिया का बैग है, बाध्यकारी उदाहरण (यानी मूल्य क्या है) एक पत्र है। पोस्टमैन (यानी सेटर) लक्ष्य को खोलने के लिए पत्र (यानी बाध्यकारी उदाहरण) को भेजता है (यानी टेक्स्ट प्रॉपर्टी), इसे खोलने के बिना, i।ई जानने के बिना पत्र (यानी कर्मचारी नाम) पत्र लेता है।
अगर मैं गलत हूं तो कृपया मुझे सही करें।
क्या यह वास्तव में काम करता है? मैंने TreeViewItem शैलियों के साथ कुछ ऐसा करने की कोशिश की, लेकिन ऐसा नहीं हुआ। –
सिल्वरलाइट में, मेरा मतलब है। डब्ल्यूपीएफ शैलियों में बाध्यकारी निर्धारण का समर्थन करता है। –
@Lex Lavnikov .... मैंने हाल ही में सिल्वरलाइट में खुद को नहीं देखा, मुझे याद नहीं है कि मैंने चांदी की शैली में बाध्यकारी उपयोग किया है या नहीं। वैसे भी, आप इस पर चर्चा करने के लिए एक और धागा शुरू कर सकते हैं। आपका क्या कहना है? – Nawaz