मेरे पास एक नौसिखिया WPF प्रश्न है।क्या डब्ल्यूपीएफ में एक स्थिर संसाधन के लिए एक प्रकार कनवर्टर की आपूर्ति करना संभव है?
मेरे उपयोगकर्ता नियंत्रण की कल्पना इस तरह एक नाम स्थान घोषणा है:
xmlns:system="clr-namespace:System;assembly=mscorlib"
और मैं इस तरह उपयोगकर्ता नियंत्रण के लिए संसाधन हैं: मेरे उपयोगकर्ता नियंत्रण में कहीं
<UserControl.Resources>
<system:Int32 x:Key="Today">32</system:Int32>
</UserControl.Resources>
और फिर मैं इस किया है :
<TextBlock Text="{StaticResource Today}"/>
इससे कोई त्रुटि आएगी क्योंकि Today
को पूर्णांक संसाधन के रूप में परिभाषित किया गया है, लेकिन टेक्स्ट प्रॉपर्टी स्ट्रिंग की अपेक्षा कर रही है। यह उदाहरण विकसित है, लेकिन उम्मीद है कि सवाल का वर्णन करता है।
सवाल यह है कि, मेरा संसाधन प्रकार संपत्ति प्रकार से बिल्कुल मेल खाता है, क्या मेरे संसाधनों के लिए कनवर्टर प्रदान करने का कोई तरीका है? बाइंडिंग या एक प्रकार कनवर्टर के लिए IValueConverter की तरह कुछ।
धन्यवाद!
बिल्कुल सही, जानकारी के लिए धन्यवाद! – Notre
क्या होगा यदि आप एक StatisResource से रंग घटकों को प्राप्त करना चाहते हैं जो एक रंग है? (उदाहरण के लिए, StaticResource रंग की अस्पष्टता को बदलने के लिए।) निम्न कार्य करना प्रतीत नहीं होता है: <रंग ए = "# 99" आर = "{बाइंडिंग स्रोत = {स्टेटिक रिसोर्स फोनएक्वेंट कोलर}, पथ = आर}" जी = "{बाइंडिंग स्रोत = {स्टेटिक रिसोर्स फोनएक्सेन्टकॉलर}, पथ = जी}" बी = "{बाइंडिंग स्रोत = {स्टेटिक रिसोर्स फोनएक्सेन्ट कॉलर}, पथ = बी}" /> –
यह काम नहीं करता है क्योंकि आप केवल बाध्यकारी सेट कर सकते हैं एक निर्भरता ऑब्जेक्ट की निर्भरता प्रजनन। रंग एक संरचना है। आप अपना खुद का रंग रैपर ऑब्जेक्ट बना सकते हैं जो एक निर्भरता प्रॉपर्टी है, और ए, आर, जी, बी, और रंग गुणों का खुलासा करता है जो स्वयं डीपी हैं। किसी भी गुण को बदलने से कलर प्रॉपर्टी अपडेट हो जाएगी, और इसे बदलकर अन्य सभी अपडेट होंगे। –