मुझे प्लेनेटप्रोपरेटीमेटडाटा या यूप्रोपरेटीमेटडाटा का उपयोग सादे प्रॉपर्टीमेटेटा पर कब करना चाहिए?


82

जब नमूना संलग्न गुणों और व्यवहारों को देखते हैं, तो मैंने और FrameworkPropertyMetadata, UIPropertyMetadataऔर के उपयोगों का एक मश्मश देखा है PropertyMetadata। चूंकि वे सभी एक विरासत पदानुक्रम बनाते हैं, मैं कैसे चुनूं कि किसका उपयोग करना है?

जवाबों:


81

ये कक्षाएं निर्भरता संपत्ति के कुछ व्यवहार पहलुओं की रिपोर्ट करने के लिए हैं।

उनके द्वारा प्रदान किए जाने वाले विकल्पों के लिए विभिन्न वर्गों की जाँच करें।

उदाहरण के लिए,

यदि आप केवल dp द्वारा एक संपत्ति वापस चाहते हैं और एक डिफ़ॉल्ट मान प्रदान करते हैं, का उपयोग करें PropertyMetadata,

यदि आप एनीमेशन व्यवहार निर्दिष्ट करना चाहते हैं, तो उपयोग करें UIPropertyMetadata,

लेकिन अगर कुछ संपत्ति wpf फ्रेमवर्क स्तर के सामान को प्रभावित करती है जैसे तत्व लेआउट, पैरेंट लेआउट या डेटाबाइंडिंग, उपयोग FrameworkPropertyMetadata

विवरण आप msdn http://msdn.microsoft.com/en-us/library/ms751554.aspx पर देख सकते हैं


2
असली सवाल यह है कि प्रोपडी स्निपेट UIPropertyMetadata का उपयोग क्यों करता है, खासकर जब से सिल्वरलाइट में प्रॉपर्टीमेटेटा उपवर्ग नहीं हैं? यह मुझे पागल कर देता है।
ग्रानक

6
ऐसा इसलिए है क्योंकि उसी स्निपेट्स को WPF और सिल्वरलाइट के बीच साझा किया जाता है। आप इस लिंक से सिल्वरलाइट के
gp।

2
MSDN कहता है "सामान्य तौर पर, आपको फ्रेमवर्कप्रोपरेटीमेटाटा का उपयोग करना चाहिए, खासकर यदि आपकी संपत्ति में संपत्ति प्रणाली और WPF फ़ंक्शन जैसे लेआउट और डेटा बाइंडिंग के साथ कोई इंटरैक्शन है।" - (मेटाडेटा निर्दिष्ट करते हुए) msdn.microsoft.com/en-us/library/ms751554.aspx
वेन ब्लॉस्ट

किस तरह के डेटा बाइंडिंग के लिए FrameworkPropertyMetadata का उपयोग किया जाना चाहिए? मैं बस एक संपत्ति चाहता हूं जो एक नियंत्रण के IsEnabled से बंधा हो।
मॉन्स्टिएर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.