c# - ObservableCollection Binding to a comboBox -


मैं पर्यवेक्षणीय कलेक्शन तैयार करता हूं:

  सार्वजनिक पर्यवेक्षण योग्यता & lt; उपकरण & gt; टूललिस्ट = नया ऑब्ज़र्वबल कलेक्शन & lt; टूल & gt; ();  

और मैं कंट्रोलर में डेटा कंटैंटसेट सेट कर रहा हूं:

  सार्वजनिक मैनविंडो () {InitializeComponent (); DataContext = toolList; }  

वास्तविक:

  सार्वजनिक मुख्य विंडो () {InitializeComponent (); DataContext = यह; }  

सार्वजनिक करने के लिए सूची:

  सार्वजनिक पर्यवेक्षण योग्यता & lt; उपकरण & gt; टूललिस्ट {रिटर्न टूल की सूची प्राप्त करें; }}  

मैं सूची में ऑब्जेक्ट कैसे जोड़ता हूं:

  निजी शून्य बटनऐड_कॉलिक (ऑब्जेक्ट प्रेषक, रूटिंग एवेंट एआरजीएस ई) {इनपुटडिलाओग इनपुट = नया इनपुटडायलोग () ; input.ShowDialog (); InputNewTool = input.enteredTxt; अगर (inputNewTool! = नल) {System.Windows.Forms.MessageBox.Show ("उपकरण की निर्देशिका चुना गया"); Dlg.DefaultExt = ".exe"; Dlg.Filter = "अनुप्रयोग (.exe) | * .exe"; यदि (dlg.ShowDialog () == System.Windows.Forms.DialogResult.OK) {उपकरण उपकरण = नया उपकरण (); Tool.Name = inputNewTool; Tool.pat = dlg.FileName; toolList.Add (उपकरण); }}}  

मुझे लगता है कि केवल टूलबैज का नाम कॉम्बो बॉक्स पर दिखाया गया है। XAML:

  & lt; कॉम्बो बॉक्स आइटमस्सोर्स = "{बाध्यकारी पथ = टूललिस्ट}" प्रदर्शनमंबरपैथ = "नाम" चयनितव्यूपैथ = "नाम" चयनित वैल्यू = "{बाध्यकारी पथ = टूललिस्ट}" ऊँचाई = "22" नाम = "comboBoxTools" चौड़ाई = "185" IsEditable = "False" / & gt;  

संपादित करें: अब xaml ऐसा दिखाता है:

  & lt; कॉम्बो बॉक्स आइटमस्सोर्स = "{बाध्यकारी पथ = टूललिस्ट, अपडेट सस्र्राट्रिगर = संपत्ति बदलते}" प्रदर्शनमंबरपाथ = "नाम " 

टूलक्लास:

  सार्वजनिक वर्ग उपकरण {सार्वजनिक स्ट्रिंग नाम {get; सेट; } सार्वजनिक स्ट्रिंग पथ {get; सेट; } सार्वजनिक उपकरण () {}}  

मैं कॉम्बो बॉक्स में कुछ नहीं देखता हूं। क्यूं कर? उपकरण संग्रह में सफलतापूर्वक जोड़े गए हैं। मैं पागल हो

आपने विंडो के डेटा कंटैन्टेक्स को ObsavableCollection में सेट किया है। <

= "{बाइंडिंग}" / & gt;

या

आदर्श रूप से आप खुद को DataContext को सेट करना चाहिए:

  DataContext = यह;  

इसके अलावा, SelectedValue सूची को इंगित कर रहा है इससे कोई मतलब नहीं होता है अगर यह SelectedValuePath का उपयोग न करें तो क्लास टूल का एक उदाहरण इंगित करना चाहिए। और चयनित वील्यूपैथ का उपयोग करते समय, उसे टाइप स्ट्रिंग की संपत्ति पर ध्यान देना चाहिए।

या तो इसे पूरी तरह से हटाएं या कक्षा में उचित आवृत्ति में सेट करें।


Comments