c# - What do I have to change in my WPF databinding to get Listbox to show items? -
मैंने एक उदाहरण में यह एक्सएएमएल पाया:
& lt; विंडो x: कक्षा = " TestDataTemplate123.Window1 "xmlns =" http://schemas.microsoft.com/winfx/2006/xaml/presentation "xmlns: x =" http://schemas.microsoft.com/winfx/2006/xaml "xmlns: स्थानीय = "Clr-namespace: TestDataTemplate123" शीर्षक = "विंडो 1" ऊंचाई = "300" चौड़ाई = "300" & gt; & LT; Window.Resources & gt; & Lt; स्थानीय: ग्राहक एक्स: कुंजी = "ग्राहक" / & gt; & LT; /Window.Resources> & LT; StackPanel & gt; & Lt; टेक्स्टब्लॉक टेक्स्ट = "ग्राहक:" / & gt; & Lt; लिस्ट बॉक्स आइटमस्सोर्स = "{बाइंडिंग सोर्स = {स्टैटिक रिसोर्स ग्राहक}}" / & gt; & Lt; / StackPanel & gt; & Lt; / विंडो & gt; मैं पीछे कोड बनाने का प्रयास कर रहा हूं लेकिन यह काम नहीं करता (यह एक खाली सेट दिखाता है (मुझे शब्दों की सूची की उम्मीद है TestDataTemplate123.Customer कहते हैं।
Window1.cs
सिस्टम का उपयोग कर। Collections.ObjectModel; सिस्टम का उपयोग कर .विंडो; नेमस्पेस टेस्टडेटाटेम्पलेट 123 {सार्वजनिक आंशिक वर्ग विंडो 1: विंडो {सार्वजनिक स्थिर ऑब्सर्वबल कॉलिंग & lt; ग्राहक & gt; ग्राहक () {वापसी ग्राहक। गेट सभी ग्राहक ();} सार्वजनिक विंडो 1 () {आरंभिक वस्तुएं}}}}} Customer.cs:
सिस्टम का उपयोग करके। कोलेक्शन.ऑब्जेक्टमोडेल; नेमस्पेस TestDataTemplate123 {सार्वजनिक वर्ग ग्राहक {सार्वजनिक स्ट्रिंग प्रथमनाम} {get; set;} सार्वजनिक स्ट्रिंग LastName {get; set;} सार्वजनिक आईएनजी {get; set;} सार्वजनिक स्थिर ऑब्सर्वबल कॉलेक्शन & lt; ग्राहक & gt; GetAllC Ustomers () {ऑब्ज़र्वबल कलेक्शन & lt; ग्राहक & gt; ग्राहकों = नया अवलोकन योग्य कलेक्शन & lt; ग्राहक & gt; (); Customers.Add (नया ग्राहक () {प्रथम नाम = "जिम", अंतिम नाम = "स्मिथ", आयु = 23}); Customers.Add (नया ग्राहक () {प्रथम नाम = "जॉन", अंतिमनाम = "जोन्स", आयु = 22}); Customers.Add (नया ग्राहक () {प्रथम नाम = "जे", अंतिमनाम = "एंडर्स", आयु = 21}); वापसी ग्राहकों; मैंने एक्सएमएलएन के कई अलग-अलग संयोजनों की कोशिश की है: स्थानीय, एक्स: कुंजी, स्टेटिक रिसोर्स, डेटा कंटैन्टेक्स लेकिन मुझे कई त्रुटियां मिलती हैं या खाली सूचीबॉक्स मिलती हैं।
मुझे बदलने के लिए क्या करना है, ताकि मैं इसे TestDataTemplate123.Customer को सूचीबद्ध करता हूं ताकि मैं अपना डाटाटाइमलेट बना सकूँ?
आपका एक्सएएमएल आपको ग्राहक के एक उदाहरण के लिए अपनी सूची में आइटम बाध्य कर रहा है। आपको ग्राहकों की सूची में बाँधना होगा।
चूंकि आप कोड-पीछे के अधिकांश काम कर रहे हैं, इसलिए मैं ध्यान दें कि मैंने सूचीबॉक्स को एक नाम दिया है, इसलिए मैं इसे पीछे के कोड से संदर्भित कर सकता हूं। ऐसा करें: & lt; स्थानीय: ग्राहक / & gt; एक्सएएमएल में घोषणा, साथ ही आइटम स्रोत सुविधा, और इसे अपने कोड में सेट करें:
सार्वजनिक विंडो 1 () {InitializeComponent (); ListBox1.ItemsSource = ग्राहक। GetAllCustomers (); } & lt; ListBox x: name = "listBox1" / & gt;
Comments
Post a Comment