Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF ListView删除项目IsSelected MVVM_Wpf_Listview_Mvvm - Fatal编程技术网

WPF ListView删除项目IsSelected MVVM

WPF ListView删除项目IsSelected MVVM,wpf,listview,mvvm,Wpf,Listview,Mvvm,我有一个ListView,它绑定到某个对象的可观察集合。。在ListView中选择和项将显示一个表单。当用户在ListView中从一个项目切换到另一个项目时,我的业务案例就是这样,如果有任何未保存的更改,则应提示用户是/否/取消。如果用户单击“否”,则应从列表中删除所选项目 我有一个ListViewItem的ViewModel,在IsSelected属性中我正在提示用户。现在,当我从Observable集合中删除该项时,IsSelected=True表示下一次被选中时,我得到了错误 “集合已修改

我有一个ListView,它绑定到某个对象的可观察集合。。在ListView中选择和项将显示一个表单。当用户在ListView中从一个项目切换到另一个项目时,我的业务案例就是这样,如果有任何未保存的更改,则应提示用户是/否/取消。如果用户单击“否”,则应从列表中删除所选项目

我有一个ListViewItem的ViewModel,在IsSelected属性中我正在提示用户。现在,当我从Observable集合中删除该项时,IsSelected=True表示下一次被选中时,我得到了错误

“集合已修改;枚举操作可能无法执行”


我很确定您遇到了问题,因为您的程序在选择当前所选项目的同时,正在从集合中删除该项目。单击该项将更改
列表视图的
选择编辑项
,同时删除该项,而无需为
选择编辑项
设置新值


您可能需要在窗口的视图模型中创建一个属性,并将
ListView
SelectedItem
属性绑定到该属性。当该属性的值更改时,您可以提示用户,然后将
SelectedItem
设置为适当的值(即,在删除当前选定项后,设置为选定项应为的值,或者如果集合即将为空,则设置为null)在将其从基础集合中删除之前。

您确实应该发布一些代码。绑定到您的listbox、VM代码和错误所在操作的剪贴簿这是否回答了您的问题?我也面临同样的问题,我理解你的解决方案。我用同样的方式,但仍然面临同样的问题。