2011-01-06 12 views
0

Hier ist eine Funktion zum Auffüllen einer Combobox mit SaveState.SaveName Werte. Wie Sie sehen können, verwende ich nicht ItemsSource Ich suche nach einer besseren Möglichkeit, diese Funktion zu tun.Wie geht das mit Databinding?

public void RestoreState(List<SaveState> names) 
{ 
    foreach (SaveState st in names) 
    { 
     Label l = new Label(); 
     l.Content = st.SaveName; 
     this.comboBox1.Items.Add(l); 
    } 
} 

Ich versuchte dies:

this.comboBox1.ItemsSource = names; 

Aber die Combobox mit meinem Datentyp wurde bevölkert. Kann ich die ItemsSource so verwenden, dass sie die Combobox mit dem Datenelement "SaveName" füllt?

Antwort

3
this.comboBox1.ItemSource = names.Select(o=>o.SaveName) 

Ist das, was Sie wollen?

1

Ein anderer Weg, es zu tun:

this.comboBox1.DataSource = names; 
this.comboBox1.DisplayMember = "SaveName";