2010-03-19 2 views

답변

5

단일 명령문에서는 사용할 수 없습니다. foreach를 사용하여 배열을 반복해야하며 각 항목을 개별적으로 추가해야합니다. 분명히 이것을 할 계획이라면 도우미 나 확장 방법으로 캡슐화 할 수 있습니다.

ComboBox.ItemsSource를 ComboBox.Items를 직접 조작하는 대신 ObservableCollection에 데이터 바인딩하는 경우 this question에 대한 응답에 설명 된 개별 Add에 대한 컬렉션 변경 알림을받지 않도록하는 트릭이 있습니다. .

+0

감사를 시도 할 수 있습니다 그것은 내 머리를 클릭하지 않았고 while 루프를 사용하여 항목을 통과 한 다음 출력했습니다. 감사. –

-4

코드 숨김에서 그런 일 작성하십시오 :

comboBox1.Items.AddRange (새 [] { "노란색", "DarkBlue", "빨강", "녹색"});

또는

ArrayList를 배열 = 새로운 ArrayList를();
array.Add ("1");
array.Add ("2");
comboBox1.Items.AddRange (array);

+0

AddRange와 같은 메소드가 없으므로 사용할 수 없지만 어쨌든 고맙습니다. 나는 그것을하는 방법을 알아 냈다. –

5

당신은 그러나 당신이

처럼 뭔가를 쓰기 시도해보십시오 AddRange를 시뮬레이션하기 위해 LINQ를 사용할 수 없습니다

ComboBox combo; 
    String[] arrOperator = new String[] { "=", "<", "<=", ">", ">=", "<>" }; 

    combo = new ComboBox(); 
    arrOperator.ToList().ForEach(item => comboRetVal.Items.Add(item)); 
0

당신은 어떤 이상한 이유로

comboBox1.ItemsSource = array; 
+0

OP가 명시 적으로 "추가하고 싶습니다"라고 설정하고 설정하지 않으면 정상적으로 작동합니다 – Firo

관련 문제