gpt4 book ai didi

c# - WPF从列表框中删除项目

转载 作者:行者123 更新时间:2023-11-30 21:15:46 24 4
gpt4 key购买 nike

我在 WPF 中有一个列表框,它使用 ItemSource 属性绑定(bind)到 ObservableCollection。这工作正常,显示了正确的项目。

列表框(包含图像名称列表)在 SelectionChanged 事件上有一个事件处理程序,它使用所选图像的路径更新图像控件的源(有效地提供图像预览)。

我有以下代码在按钮的点击事件中从 lisbox 中删除一个项目:

if (lstLocal.SelectedIndex > -1)
{
localImages.RemoveAt(lstLocal.SelectedIndex);
}

localImages 是 ObservableCollection,lstLocal 是 ListBox

但是,当我删除所选项目时,这会触发 SelectionChanged 事件。我的 SelectionChanged 事件处理程序使用列表框上的 SelectedIndex 属性。我收到异常 Index 超出范围。必须为非负数且小于集合的大小。,所以我猜测删除项目会导致 SelectedIndex 设置为类似 null(或负数)的值?

这个问题有办法解决吗?我猜我有更好的方法来删除项目,或者我需要对我的 SelectionChanged 处理程序进行某种检查?

最佳答案

将 SelectionChanged 处理程序中的代码包装在

if (lstLocal.SelectedItem != null)
{
...
}

关于c# - WPF从列表框中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5543028/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com