WPF ListView删除项目IsSelected MVVM
我有一个ListView,它绑定到某个对象的可观察集合。。在ListView中选择和项将显示一个表单。当用户在ListView中从一个项目切换到另一个项目时,我的业务案例就是这样,如果有任何未保存的更改,则应提示用户是/否/取消。如果用户单击“否”,则应从列表中删除所选项目 我有一个ListViewItem的ViewModel,在IsSelected属性中我正在提示用户。现在,当我从Observable集合中删除该项时,IsSelected=True表示下一次被选中时,我得到了错误 “集合已修改;枚举操作可能无法执行”WPF ListView删除项目IsSelected MVVM,wpf,listview,mvvm,Wpf,Listview,Mvvm,我有一个ListView,它绑定到某个对象的可观察集合。。在ListView中选择和项将显示一个表单。当用户在ListView中从一个项目切换到另一个项目时,我的业务案例就是这样,如果有任何未保存的更改,则应提示用户是/否/取消。如果用户单击“否”,则应从列表中删除所选项目 我有一个ListViewItem的ViewModel,在IsSelected属性中我正在提示用户。现在,当我从Observable集合中删除该项时,IsSelected=True表示下一次被选中时,我得到了错误 “集合已修改
我很确定您遇到了问题,因为您的程序在选择当前所选项目的同时,正在从集合中删除该项目。单击该项将更改
列表视图的选择编辑项
,同时删除该项,而无需为选择编辑项
设置新值
您可能需要在窗口的视图模型中创建一个属性,并将ListView
的SelectedItem
属性绑定到该属性。当该属性的值更改时,您可以提示用户,然后将SelectedItem
设置为适当的值(即,在删除当前选定项后,设置为选定项应为的值,或者如果集合即将为空,则设置为null)在将其从基础集合中删除之前。您确实应该发布一些代码。绑定到您的listbox、VM代码和错误所在操作的剪贴簿这是否回答了您的问题?我也面临同样的问题,我理解你的解决方案。我用同样的方式,但仍然面临同样的问题。