将项目从一个列表框移动到另一个列表框

时间:2015-07-03 09:23:29

标签: c# wpf silverlight listbox silverlight-4.0

我需要在silverlight应用程序中的按钮点击事件中将项目从一个列表框移动到另一个列表框。

我使用以下代码,

private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            ListBox2.Items.Add(ListBox1.SelectedItem);

            if (ListBox2.SelectedIndex != -1)
            {
                ListBox1.Items.Add(ListBox2.SelectedValue);
                ListBox2.Items.Remove(ListBox2.SelectedValue);
            }

        }

但如果我尝试使用上面的代码,则会出现以下错误,

operation not supported on read-only collection

如何解决这个问题??

1 个答案:

答案 0 :(得分:2)

您应该使用数据绑定将ObservableCollection项绑定到两个ListBox.ItemsSource的{​​{1}}属性中:

ListBox

然后移动项目,您只需调整实际的集合,而不是尝试调整<ListBox ItemsSource="{Binding Your1stCollectionProperty}" ... /> <ListBox ItemsSource="{Binding Your2ndCollectionProperty}" ... /> s:

ListBoxItem