मुझे पता है कि जब डेटा प्रदर्शित होने वाला है, तो Convert()
विधि को डेटा रूपांतरित करने के लिए कहा जाता है और परिवर्तित डेटा इसके बजाए प्रदर्शित होता है।कन्वर्टबैक विधि कब कॉल की जाती है?
मुझे आश्चर्य है कि ConvertBack()
विधि कहलाती है? इसका उद्देश्य क्या है?
मेरे पास DataGrid
है जिसका ItemSource
कुछ संग्रह से जुड़ा हुआ है, और मैंने संग्रह में वस्तुओं की एक संपत्ति के लिए IValueConverter
लागू किया है। जब मैं IsReadOnly="True"
(डेटाग्रिड में) बना देता हूं, तो ConvertBack
विधि को कॉल किया जाता है यदि मैं सेल पर डबल-क्लिक करता हूं (जिसके लिए IValueConverter
लागू किया गया है) और फिर फ़ोकस बदलें। लेकिन जब मैं IsReadOnly="False"
बना देता हूं, तो ConvertBack
विधि को कभी भी नहीं कहा जाता है, इससे कोई फर्क नहीं पड़ता कि मैं DataGrid
और इसकी कोशिकाओं के साथ क्या करता हूं।
DataGrid
कोशिकाओं और ConvertBack
IValueConverter
की विधि के इस व्यवहार को समझाएं।
यह कहा जाता है के साथ अपने सेल के लिए बाध्यकारी पोस्ट चाहिए जब बाध्यकारी मोड TwoWay (TextBox.Text के लिए और शायद CheckBox.IsChecked के लिए डिफ़ॉल्ट मोड) है। यदि आप वनवे को स्पष्ट रूप से सेट करते हैं, तो मुझे लगता है कि विधि नहीं कहा जाएगा। – vorrtex
मुझे यह समस्या भी है। यदि मैं सीधे 'डेटाटेबल' से बांधता हूं तो स्रोत 'सेलएडिट एन्डिंग' पर अपडेट हो जाता है। यदि मैं एक अलग तरह की वस्तु से जुड़ा हूं और बाध्यकारी में एक कनवर्टर का उपयोग कर इसे 'डेटाटेबल' में परिवर्तित करने के लिए 'कनवर्टबैक' पर कभी भी कॉल नहीं किया जाता है। मतलब उपयोगकर्ता संपादन स्रोत के लिए प्रचारित नहीं होते हैं। मैं सोच रहा हूं कि मुझे अपने 'डेटाटेबल' को प्राप्त करने की आवश्यकता है और इसमें किसी प्रकार का अधिसूचना तर्क जोड़ें। यदि मुझे समाधान मिल जाए तो पोस्ट करेगा। –