c# - DataGrid cell edit Mode=TwoWay -
मेरे पास DataGrid
जैसा नीचे दिया गया है
& lt; DataGrid आइटमस्सोर्स = "{बाध्यकारी टेम्पलेट्स}" चुने हुए इटैम = "{बाइनिंग चुने हुए टेम्प्लेट, मोड = टूवे, अपडेटससोर्सट्रिगर = प्रॉपर्टी चेंंकित}" कैन्यूर्सरोर्ट कॉलम = "फॉल्स" & gt; & LT; DataGrid.Columns & gt; & Lt; DataGridTextColumn हेडर = "टेम्प्लेट" बाइंडिंग = "{बाध्यकारी पथ =।, मोड = दोवे, अपडेटसॉर्सट्रिगर = संपत्ति बदलते}" चौड़ाई = "*" / & gt; & LT; /DataGrid.Columns> & Lt; / डेटा ग्रिड & gt;
प्रश्न में दो प्रॉपर्टी नीचे दी गई हैं
निजी ऑब्ज़र्वबल कलेक्शन & lt; string & gt; _templates; सार्वजनिक पर्यवेक्षण कलेक्शन & lt; स्ट्रिंग & gt; टेम्पलेट {प्राप्त करें {रिटर्न _ टेम्पलेट्स; } सेट {यदि (_templates == मान) रिटर्न; _templates = value; RaisePropertyChanged ( "टेम्पलेट्स"); }} निजी स्ट्रिंग चुने गए चुने गए; सार्वजनिक स्ट्रिंग चयनितमेटलेट {प्राप्त करें {लौटें चुने गए चुने गए टेम्पलेट; } सेट {if (_selectedTemplate == मान) रिटर्न; _selectedTemplate = मान; RaisePropertyChanged ( "SelectedTemplate"); }}
मैं UI से उपरोक्त DataGrid
में कोशिकाओं का संपादित करें
कार्य करना चाहता हूं और संबंधित परिवर्तन उपलब्ध होना चाहिए
अब के रूप में स्ट्रिंग
वर्ग INotifyPropertyChanged
को कार्यान्वित नहीं करता है, UI में संपादन कोशिकाओं संपत्तियों के मूल्यों में परिवर्तन को प्रतिबिंबित नहीं करती है। तो क्या किसी के पास कोई विचार है यदि इसके लिए एक वैकल्पिक हल है ताकि मैं आवश्यक कार्यक्षमता प्राप्त कर सकूं?
आपके पास यहां बहुत पसंद नहीं है ... एक स्ट्रिंग टेम्पलेट
संपत्ति के साथ एक TemplateModel
वर्ग बनाएँ। इसे INotifyPropertyChanged
कार्यान्वित करें और इसे परिवर्तित करें:
-
Templates
सेObservableCollection
-
का चयन किया गया टेम्पलेट <
to
TemplateModel
-
के लिए बाध्यकारी {बाध्यकारी पथ = टेम्पलेट, मोड = दोवा, अद्यतनसंसाधनट्रीजर = संपत्ति बदल गया}
Comments
Post a Comment