我有一个ListBox(WPF),我在运行时添加它的字符串.... 如果我尝试添加已经存在于ListBox中的字符串,它会抛出一个异常.....告诉该项已经在ListBox中.... 如何向ListBox添加相同的字符串? 因为我必须在我的应用程序中添加2个相同的字符串.... 感谢....
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>
在后面的代码中我添加了类似的字符串 -
this.listBox_MyListBox.Items.Add(text.ToString());
答案 0 :(得分:1)
为什么不是一个简单的清单?
简单而不是mvvm方式:
public List<string> MyItems {get; set;}
listBox_MyListBox.ItemsSource = MyItems;
MyItems.Add("t1");
MyItems.Add("t2");
MyItems.Add("t1");//again
我会在列表中使用viewmodel并绑定到列表框。但上面的代码也可以。
答案 1 :(得分:0)
是的,您可以将重复的项目添加到列表框,它允许没有任何问题 例如:
private void Window_Loaded ( object sender, RoutedEventArgs e )
{
listBox_MyListBox.Items.Add ( "demo" );
listBox_MyListBox.Items.Add ( "demo" );
}
注意: 如果您使用任何不允许重复的数据源,它将不允许您添加重复: 字典或Hashtable可能不允许重复条目,如果是这种情况,那么选择List或datatable作为数据源