जवाबों:
डिपेंडेंसी गुण उन वर्गों के गुण हैं जो डिपेंडेंसीओबजेक्ट से निकलते हैं, और वे विशेष रूप से इसमें हैं कि वे अपने मूल्य को स्टोर करने के लिए एक बैकिंग फ़ील्ड का उपयोग करने के बजाय, वे डिपेंडेंसीऑब्जेक्ट पर कुछ सहायक तरीकों का उपयोग करते हैं।
उनके बारे में सबसे अच्छी बात यह है कि उनके पास अंतर्निहित डेटा बाइंडिंग के लिए सभी प्लंबिंग हैं। यदि आप उन्हें कुछ बांधते हैं, तो वे इसे बदलने पर सूचित करेंगे।
एकमात्र व्याख्या जो मुझे उपयोगी और अच्छी तरह से लिखी गई थी वह यह है: http://www.wpftutorial.net/dependencyproperties.html
मूल रूप से, डिपेंडेंसीप्रॉपरेटी नियमित गुणों से भिन्न होते हैं कि वे कक्षा में खेतों के लिए बसने / पाने वाले नहीं होते हैं, लेकिन वे रनटाइम के दौरान अपने वास्तविक मूल्यों को गतिशील रूप से प्राप्त करते हैं। SetValue()
ड्राफ्ट पैरा की विधि बिल्कुल स्पष्ट है और मूल्य आप इसे दिया संपत्ति का स्थानीय मूल्य तय करता है। हालाँकि, जब आप GetValue()
एक डिपेंडेंसीप्रॉपर्टी से कोशिश करते हैं , तो यह पहले एक स्थानीय मूल्य की तलाश करेगा, अगर कोई भी मौजूद नहीं है (जो नियमित गुणों के विपरीत डिपेंडेंसीप्रोपरेटी में व्यवहार्य है) यह तब तक तार्किक यूआई ट्री जारी रखेगा जब तक कि इसे कोई मूल्य नहीं मिलेगा। यदि कोई स्थानीय मान पाए बिना ढांचा पेड़ के शीर्ष पर पहुंच गया है, तो यह संपत्ति के मूल्य के रूप में पूर्वनिर्धारित डिफ़ॉल्ट मूल्य का उपयोग करेगा।
यह विधि नियमित रूप से गुणों की तुलना में कम स्मृति का उपभोग करने के लिए DependencyProperties की अनुमति देती है क्योंकि उपयोगकर्ता द्वारा स्पष्ट रूप से निर्धारित किए गए मान केवल स्थानीय रूप से संग्रहीत किए जाएंगे।
और, जैसा कि ऊपर बताया गया है, DependencyProperties हमें XAML कोड में उन्हें बांधने और उन पर ट्रिगर सेट करने की भी अनुमति देता है, जो नियमित गुणों पर अनुमति नहीं है।
मुझे उम्मीद है कि मैं कुछ अस्पष्टता को दूर करने में कामयाब रहा हूं :)
Grid.Row="1"
एक Button
यह माता पिता पर पंक्ति # 2 में होना तय करेंगे Grid
(जो पंक्तियाँ हैं तथ्य के कारण शून्य आधारित) लेकिन Row
DependencyProperty के अंतर्गत आता है Grid
वस्तु।
DependencyProperties also allow us to bind to them in the XAML code and set triggers on them, which on regular properties is not allowed
, क्या आपका मतलब XAML में बाइंडिंग और ट्रिगर सेट करने या ट्रिगर्स सेट करने की अनुमति नहीं है। अनुवर्ती और चीजों को स्पष्ट करने में मदद करने के लिए धन्यवाद!
Value
0 मान संपत्ति (नहीं डीपी) और आप अपने दृश्य में कुछ करने की जब चाहते हैं Value
1. में परिवर्तन आप का उपयोग कर ऐसा करने के लिए सक्षम हो जाएगा DataTrigger
और सेटिंगBinding={Binding Path=Value, Value=1}
http://techpunch.wordpress.com/2008/09/25/wpf-wf-what-is-a-d dependency-property/ निर्भरता गुणों की एक अच्छी व्याख्या दोनों को WF और WPF के संदर्भ में प्रदान करता है।
अंश:
मुख्य बिंदु - निर्भरता गुणों का मूल्य हल किया जाता है
किसी भी संपत्ति की तरह एक निर्भरता संपत्ति का अंतिम लक्ष्य, राज्य का प्रबंधन करना है। लेकिन सामान्य .Net गुणों के विपरीत, स्थानीय प्रॉपर्टी वैल्यू को एक इंस्टेंस चर में संग्रहीत नहीं किया जाता है।
इसके बजाय, निर्भरता गुणों को निर्भरता संपत्ति ढांचे के साथ पंजीकृत किया जाता है, और अंतर्निहित संपत्ति मूल्य हल किया जाता है - जिसका अर्थ संपत्ति पंजीकरण द्वारा परिभाषित नियमों के आधार पर निर्भरता संपत्ति ढांचे द्वारा निर्धारित किया जाता है।