2009-08-20 11 views
23

भले ही मुझे पता है कि यह आदर्श नहीं है - मुझे प्रोग्रामेटिक रूप से एक सूची दृश्य (किसी भी कारण से) को पॉप्युलेट करने की आवश्यकता है।WPF ListView - प्रोग्राम को प्रोग्रामेटिक रूप से कैसे जोड़ें?

मैं मार्कअप में मेरे कॉलम घोषणा कर रहा हूँ:

  <ListView.View> 
       <GridView> 
        <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Path=Name}"/> 
        <GridViewColumn Header="Value" DisplayMemberBinding="{Binding Path=Value}"/> 
       </GridView> 
      </ListView.View> 

मैं (एक पाश में स्पष्ट रूप से है) कोड में इस तरह आइटम जोड़ने हूँ:

  MyData data = getDataItem(index); //< -- whatever 
      ListViewItem item = new ListViewItem(); 
      item.DataContext = data; 
      this.myListView.Items.Add(item); 

कहाँ MyData के रूप में परिभाषित किया गया है:

public class MyData 
{ 
    public string Name { get; set; } 
    public string Value { get; set; } 
} 

आइटम जोड़े जा रहे हैं (मैं पंक्तियां देख सकता हूं) लेकिन मुझे कोई सामग्री दिखाई नहीं दे रही है।

कोई भी कोई सुराग?

किसी भी मदद की सराहना की!

उत्तर

30

यह करने के लिए कोड को बदलने के काम करता है:

 MyData data = getDataItem(index); //< -- whatever 
     this.myListView.Items.Add(data); 

अब यह स्पष्ट दिखता है, लेकिन ... आंकड़ा जाना!

+0

समाधान के लिए धन्यवाद! आकर्षण की तरह काम किया :) – SolidSnake

+0

हे आदमी, आपका स्वागत है - खुशी है कि यह किसी और की मदद भी करता है :) – JohnIdol

+0

क्या आपको यह भी पता चल जाता है कि एक ही सूची को हल करने के लिए, सामान्य सूची होने पर, विभिन्न गुणों के साथ विभिन्न वस्तुओं को ले जा सकता है ? – Markus