从列表框中删除项目

发布于 2024-12-17 21:01:27 字数 192 浏览 0 评论 0原文

我尝试使用以下代码行使用 C# 代码从列表框中删除项目:

search_history.Items.RemoveAt(selected);

但是我收到以下消息:只读集合不支持操作。

此问题的解决方案是什么除了重置列表框并重新输入项目之外还有其他问题吗?

I am trying to remove an item from a listbox using C# code using the following line of code:

search_history.Items.RemoveAt(selected);

However I get the following message: Operation not supported on read-only collection.

What is the workaround solution for this problem other than resetting the listbox and entering the items all over again?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

酒中人 2024-12-24 21:01:27

您应该将 ListBox 绑定到 ObservableCollection< /a>,通过设置serach_history.ItemsSource = myObservableCollection

然后你可以做myObservableCollection.Remove(search_history.SelectedItem) 并且该项目将从集合中删除,并且 UI 将相应更新。

一般来说,您应该始终致力于使用 数据绑定,而不是直接将项目添加到集合中。

You should bind your ListBox to a ObservableCollection<T>, by setting the serach_history.ItemsSource = myObservableCollection

Then you can do myObservableCollection.Remove(search_history.SelectedItem) and the item will be removed from the collection, and the UI will update accordingly.

In general, you should always aim to use Data Bindings rather than add items directly to a collection.

好多鱼好多余 2024-12-24 21:01:27
search_history.Items.Remove(search_history.SelectedItem);
search_history.Items.Remove(search_history.SelectedItem);
无妨# 2024-12-24 21:01:27

itemsource 的项目应实现 INotifyCollectionChanged 接口。为了简化问题,您可以使用 ObservableCollection<; T>而不是列表< T>。
然后使用下面所示的代码将会很好地工作:

(yourlistbox.ItemsSource as ObservableCollection<T>).RemoveAt(selected);

希望有帮助。

Item of the itemsource should implement the INotifyCollectionChanged interface. To simplify matters, you can use the ObservableCollection< T > instead of the List< T >.
Then using the code shown below will work well:

(yourlistbox.ItemsSource as ObservableCollection<T>).RemoveAt(selected);

Hope that helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文