में एक कनवर्टर इंजेक्ट कैसे करें मेरे पास एक IValueConverter लागू कक्षा है और मुझे इसे अपने डी कंटेनर (निनजेक्ट) का उपयोग करके इंजेक्शन देने की आवश्यकता है।एक्सएएमएल
समस्या है, एक्सएएमएल में, कनवर्टर ऑब्जेक्ट के तत्काल पर नियंत्रण पाने के लिए तुरंत कोई स्पष्ट तरीका नहीं है।
तो मेरी XAML इस तरह की एक पंक्ति कुछ में शामिल हैं:
स्रोत = "{बाइंडिंग पथ = CurrentMessage, कनवर्टर = {StaticResource ImagePathConverter}}"
कहाँ, ImagePathConverter होगा मेरे लिए बनाया जाना चाहिए।
मुझे लगता है कि मैं एक "सेवा लोकेटर" स्थैतिक वर्ग बना सकता हूं और अपनी निर्भरता को हल करने के लिए इसे कॉल कर सकता हूं और स्टेटिक रिसोर्स को "MyServiceLocator.ImageConverter" में बदल सकता हूं, लेकिन इससे मुझे उल्टी करना है।
मुझे उम्मीद है कि इस प्रश्न का उत्तर कोड के कुछ स्निपेट के साथ दिया जा सकता है जो विशेष रूप से प्रदान किए गए कोड को लक्षित करते हैं - और शायद एक उदाहरण के लिए एक सहायक लिंक। कहीं नज़र डालने की सिफारिश नहीं है।
इसके अलावा, बहुत महत्वपूर्ण बात यह है कि XAML में कोड-पीछे नहीं है - और मैं एक का उपयोग नहीं कर सकता। मैं त्वचा बना रहा हूं और एक कोड पीछे नहीं चाहता है। तो मैं कक्षा कन्स्ट्रक्टर में कक्षा चर सेट नहीं कर सकता और इसका संदर्भ नहीं दे सकता। शायद यह अनुचित है, मुझे अभी तक यकीन नहीं है।
मुझे पता है कि तुम क्यों कनवर्टर की जरूरत डि साथ हल किया जा करने के लिए इच्छुक हूँ ..? – NotDan
क्योंकि कन्वर्टर एक स्वरूपण वर्ग पर (निर्भर करता है) का उपयोग करता है, जिसकी इसकी निर्भरताएं होती हैं और उनमें से प्रत्येक निर्भरता पर भी निर्भरता हो सकती है। यह मेरे लिए इन सभी निर्भरताओं को तारित करने के लिए डीआई का पूरा बिंदु है। मुझे आश्चर्य है कि क्या कई लोग इसे नए ऑब्जेक्ट्स के लिए उपयोग कर रहे हैं और मुख्य उद्देश्य का एहसास नहीं करते हैं? – PandaWood