从Gridview WinRT问题中删除多个项目

从Gridview WinRT问题中删除多个项目,gridview,windows-runtime,Gridview,Windows Runtime,我正在开发一个WinRT应用程序,其中在一个页面上,我有一个GridView,显示多个项目(一些注释,类似于GridView,通过创建ItemsPage模板),通过绑定到包含这些注释的数据库中的表来设置源。网格的选择模式设置为扩展。在同一页的应用程序栏上,我有一个删除按钮。当我从GridView中选择多个项目并按下delete按钮时,我希望将它们全部删除。问题是它们没有被全部删除,只有一半,这很奇怪(也许不是,我真的不知道我在这里遗漏了什么) 以下是“删除”按钮的代码的外观: foreach (

我正在开发一个WinRT应用程序,其中在一个页面上,我有一个GridView,显示多个项目(一些注释,类似于GridView,通过创建ItemsPage模板),通过绑定到包含这些注释的数据库中的表来设置源。网格的
选择模式
设置为
扩展
。在同一页的应用程序栏上,我有一个删除按钮。当我从GridView中选择多个项目并按下delete按钮时,我希望将它们全部删除。问题是它们没有被全部删除,只有一半,这很奇怪(也许不是,我真的不知道我在这里遗漏了什么)

以下是“删除”按钮的代码的外观:

foreach (var item in ViewNotesGridView.SelectedItems)
{
    App.ViewModel.RemoveNote((Note)item);
}
下面是GridView的一些设置:

<GridView 
    x:Name="ViewNotesGridView" 
    ItemsSource="{Binding Notes}"
    ItemTemplate="{StaticResource Standard200X200NoteTemplate}"
    SelectionMode="Extended"
    IsItemClickEnabled="True"
> 

如果我尝试一个接一个地删除它们,它会工作,但是如果我尝试同时删除多个项目,它将永远不会删除所有选中的项目

例如,我有笔记1,2,3。。。10我把它们全部选中,然后点击删除,之后我仍然保留着注释2、4、6、8、10


非常感谢您的帮助,谢谢

您还可以发布在ViewModel类的RemoveNote()方法中找到的代码。@SandraWalters我使用的是一个dll,WinRTDatabase,RemoveNote方法实际上在Notes类型的集合上调用Remove方法,我的模型。今天我做了一些研究和尝试,发现了两种解决方法,一种是使用while(ViewNotesGridView.SelectedItems.Count!=0){…},另一种是使用foreach(ViewNotesGridView.SelectedItems.ToList()中的var项){…}