2012-04-19 2 views
0

ListBox (WPF)가 있고 런타임에 문자열을 추가하는 중 .... ListBox에 이미있는 문자열을 추가하려고하면 예외가 발생합니다. .....이 항목이 이미 ListBox에 있음을 알리는 메시지입니다. ListBox에 동일한 문자열을 추가하려면 어떻게해야합니까? 내가이 동일한 문자열 .... 감사를 추가해야 할 때 내 응용 프로그램에서 상황이 있기 때문에 ....Listbox - 두 개의 동일한 항목 추가 - WPF

목록 상자 - 코드의

<ListBox x:Name="listBox_MyListBox" Height="Auto" Width="Auto" Background="Transparent" MaxHeight="170" BorderThickness="0" Margin="3"> 
         <ListBox.ItemTemplate> 
          <DataTemplate> 
           <TextBlock Margin="3" Padding="2" Text="{Binding}" TextAlignment="Center" FontSize="13"/> 
          </DataTemplate> 
         </ListBox.ItemTemplate> 
        </ListBox> 

내가 문자열과 같은 추가 뒤에 이 -

this.listBox_MyListBox.Items.Add(text.ToString()); 
+0

이렇게 제한이 없으므로 여기서는 ListBox가 문제가되는지 잘 모르겠습니다. 예외가 발생한 곳을 정확히 알려주는 코드를 게시 할 수 있습니까? – paul

+0

대신 목록 상자에 바인딩 된 목록이나 관찰 가능한 컬렉션을 사용하지 마십시오. 컬렉션에 어떤 데이터도 추가 할 수 있습니다. –

+0

@KishoreKumar 요점은 ListBox에 두 개의 동일한 항목을 추가 할 수 있다는 것입니다. – paul

답변

0

예, 목록 상자에 중복 항목을 추가 할 수 있습니다, 그것은 어떤 문제없이 예 수 있습니다 :

을 758,

참고 : 그것은 당신이 허용 해달라고 데이터 소스를 사용하고있는 경우에는 중복 추가 할 수 없습니다 것입니다 중복 : 그건 당신의 경우 다음 선택 목록 또는 데이터 테이블의 경우 사전 또는 해시 테이블은, 중복 항목을 허용하지 않을 수 있습니다 데이터 소스

+0

예, 내 문제는 HashTable, 그리고 나는 (생각) 그것이 목록 상자 .... –

1

왜 간단한 목록이 아니겠습니까?

쉬운하지 MVVM 방법 :

public List<string> MyItems {get; set;} 

listBox_MyListBox.ItemsSource = MyItems; 

MyItems.Add("t1"); 
MyItems.Add("t2"); 
MyItems.Add("t1");//again 

내가 목록 상자에 목록과 bindging와 뷰 모델을 사용합니다. 위의 코드도 작동합니다.