2011-01-06 4 views
0

콤보 상자에 값을 SaveState.SaveName으로 채우는 함수입니다. 보시다시피 저는 사용하지 않습니다 ItemsSource이 기능을 수행하는 더 좋은 방법을 찾고 있습니다. 데이터 바인딩을 사용하여 작업하는 방법

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

나는이 시도 :

this.comboBox1.ItemsSource = names; 

을하지만 콤보는 내 데이터 타입으로 채워졌다. 콤보 박스에 데이터 멤버 "SaveName"을 채우는 방식으로 ItemsSource를 사용할 수 있습니까?

답변

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

이게 원하는가요?

1

또 다른 방법은 그것을 할 수 있습니다 :

this.comboBox1.DataSource = names; 
this.comboBox1.DisplayMember = "SaveName"; 
관련 문제