2010-07-22 10 views

답변

2

, List.Items을 수행합니다..하지만 코드가 왜 선택 경기 인덱스를 설정 을 제목에 예외가 발생 어떤 이유로 이해가 안 돼요 반드시 ListBoxItem의 컬렉션을 포함하는 대신 데이터 값만 포함하고 데이터의 Item Container가 파생되어 값을 설정해야합니다. 선택한 항목에 전류를 설정하십시오. , 당신은 단순히 다음을 수행 할 수

반복 할 필요가 없습니다,

BackgroundsList.SelectedItem = current; 
2

는 C#의 foreach 문은 지정된 SurfaceListBoxItem 유형 Items에 의해 반환 된 요소의 유형에서 당신을 위해 암시 적 캐스트를 수행합니다. 런타임에 반환 된 stringSurfaceListBoxItem으로 캐스팅 될 수 없습니다. 당신은 물론 당신이 사용할 수있는, SurfaceListBoxItem

foreach(var n in BackgroundsList.Items) 
{ 
    if (n.ToString() == current) BackgroundsList.SelectedItem = n; 
} 

var을 대신 사용하여이 문제를 해결 또는 수 LINQ :

BackgroundsList.SelectedItem = (
    from n in BackgroundList.Items 
    where n.ToString() == current 
    select n).FirstOrDefault(); 
관련 문제