列表框-添加两个相同的项目-WPF

列表框-添加两个相同的项目-WPF,wpf,c#-4.0,listbox,wpf-controls,Wpf,C# 4.0,Listbox,Wpf Controls,我有一个列表框(WPF),我正在运行时向它添加字符串。。。。 如果我试图添加列表框中已经存在的字符串,它会引发异常。。。。。告知此项目已在列表框中。。。。 如何将相同的字符串添加到ListBox? 因为在我的应用程序中,我确实需要添加两个相同的字符串。。。。 谢谢 列表框- <ListBox x:Name="listBox_MyListBox" Height="Auto" Width="Auto" Background="Transparent" MaxHeight="170" Borde

我有一个列表框(WPF),我正在运行时向它添加字符串。。。。 如果我试图添加列表框中已经存在的字符串,它会引发异常。。。。。告知此项目已在列表框中。。。。 如何将相同的字符串添加到ListBox? 因为在我的应用程序中,我确实需要添加两个相同的字符串。。。。 谢谢

列表框-

<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>

是的,您可以将重复的项目添加到列表框,它允许无任何问题 例如:

注: 如果您使用任何不允许重复的数据源,它将不允许您添加重复: 字典或哈希表可能不允许重复条目,如果是这种情况,那么选择List或datatable作为数据源

为什么不选择简单列表

简单而非mvvm的方式:

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

 listBox_MyListBox.ItemsSource = MyItems;

 MyItems.Add("t1");
 MyItems.Add("t2");
 MyItems.Add("t1");//again
public List MyItems{get;set;}
listBox_MyListBox.ItemsSource=MyItems;
MyItems.添加(“t1”);
我的项目。添加(“t2”);
MyItems.添加(“t1”)//再一次

我会将viewmodel与列表一起使用,并绑定到列表框。但是上面的代码也可以工作。

我知道没有类似的限制,所以我不确定列表框是否是您的问题。你能发布更多的代码来告诉我们异常发生的确切位置吗?与其如此,为什么不使用绑定到列表框的列表或可观察集合,然后你可以向列表框添加任何数据collection@KishoreKumar我的观点是,有可能将两个相同的项目添加到刚刚尝试过的ListBox中,它对我来说很好…@paulyou-right-paul,我没有注意到我的代码中有一行抛出异常(列表框很好)…谢谢!
private void Window_Loaded ( object sender, RoutedEventArgs e )
{
   listBox_MyListBox.Items.Add ( "demo" );
   listBox_MyListBox.Items.Add ( "demo" );            
}
 public List<string> MyItems {get; set;}

 listBox_MyListBox.ItemsSource = MyItems;

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