2013-08-21 105 views
0

嗨我需要將數據綁定到列表框中的數據列表框,但我得到這個:System.Colllections.Generic.List'1 [System.String]而不是項目列表。將數據綁定到列表框的字符串列表

<ListBox x:Name="lbMenu" ItemsSource="{Binding MyDataForLunchGrid}"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <StackPanel> 
       <TextBlock x:Name="tbMenu" Text="{Binding vydajnaMenus}"/> 
       <TextBlock x:Name="tbMenuNumber" Text="{Binding vydajnaNumber}"/> 
      </StackPanel> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

數據綁定:

_myDataForLunchGrid.Add(new BindingData 
{    
    vydajnaMenus = Vydajna1Menus.Select(s => s.ToString()).ToList(), 
    vydajnaNumber = "01" 
}); 
OnPropertyChanged("MyDataForLunchGrid"); 

MyCollection的在炫魅

private ObservableCollection<BindingData> _myDataForLunchGrid = new ObservableCollection<BindingData>(); 

    public ObservableCollection<BindingData> MyDataForLunchGrid 
    { 
     get { return _myDataForLunchGrid; } 
     set { _myDataForLunchGrid = value; } 
    } 

類BindingData

public List<string> vydajnaMenus { get; set; } 
public string vydajnaNumber { get; set; } 

任何想法,爲什麼我得到System.Colllections.Generic.List'1 [System.String],而不是項目列表。

回答

0

好吧,我得到它的工作。它不是理想的解決方案,但效果很好

   foreach (var myVar in Vydajna1Menus) 
       { 
       _myDataForLunchGrid.Add(new BindingData 
       { 
        vydajnaMenus = myVar, 
        vydajnaNumber ="0"+numberOfFood.ToString() 
       }); 
       } 
       OnPropertyChanged("MyDataForLunchGrid"); 
0

我想要顯示單個列表項中的字符串集合,然後您需要一些如何連接字符串。否則,運行時將簡單地在對象上調用ToString()。

我認爲最簡單的方法是編寫一個轉換器,它將連接任何集合中的字符串。