Windows phone 8 System.NotSupportedException';尝试在WP8中移动ObservableCollection项时

Windows phone 8 System.NotSupportedException';尝试在WP8中移动ObservableCollection项时,windows-phone-8,observablecollection,notsupportedexception,Windows Phone 8,Observablecollection,Notsupportedexception,我在尝试交换/移动ObservableCollection中的项目时遇到问题。我在列表框中有一个项目列表,当您滑动一个项目时,它将成为一个已完成的项目,并因此移动到列表的末尾。。接下来的时间,会向上移动。。如果有三个项目。当我们在第一项上滑动时,第一项移动到列表的底部,使其成为第三项,第二项向上移动成为第一项,第三项向上移动成为第二项 我就是这样声明这个实例的 private ObservableCollection<PageCollection> PageCollectionObs

我在尝试交换/移动ObservableCollection中的项目时遇到问题。我在列表框中有一个项目列表,当您滑动一个项目时,它将成为一个已完成的项目,并因此移动到列表的末尾。。接下来的时间,会向上移动。。如果有三个项目。当我们在第一项上滑动时,第一项移动到列表的底部,使其成为第三项,第二项向上移动成为第一项,第三项向上移动成为第二项

我就是这样声明这个实例的

private ObservableCollection<PageCollection> PageCollectionObservableCollection { get; set; } 
当执行到达PageCollectionObservableCollection.Move时,将抛出以下错误

中发生“System.NotSupportedException”类型的异常 System.Windows.ni.dll,但未在用户代码中处理


上面的代码在Windows8中非常有用,但是现在它在WP8中抛出了一个异常。有什么想法吗?

该控件绑定到一个列表框。我找到了一份工作。我不确定这是不是正确的方法。我创建了一个临时OC,执行了移动功能,然后将其重新分配回旧OC。然后更新了列表框

   PageCollection completedItem = fe.DataContext as PageCollection;
   int fileNoCompleted = completedItem.FileNo;
   if (completedItem.CompletionStatus == false)
   {
        int position = 0;

        for (int i = PageCollectionObservableCollection.Count - 1; i > -1; i--)
        {
            if (PageCollectionObservableCollection.ElementAt(i).CompletionStatus == false)
            {
                position = i;
                break;
            }
        }
        completedItem.CompletionStatus = true;
        completedItem.Color = Colors.Green;
        completionStatusArray[fileNoCompleted] = true;
//编辑

    List<PageCollection> l = PageCollectionObservableCollection.ToList<PageCollection>();
        ObservableCollection<PageCollection> tempPageCol = new ObservableCollection<PageCollection>(l);
        tempPageCol.Move(fileNoCompleted, position);

        PageCollectionObservableCollection = tempPageCol;

        CategoryLB.ItemsSource = PageCollectionObservableCollection;
        CategoryLB.UpdateLayout();


   }  
List l=PageCollectionObservableCollection.ToList();
ObservableCollection tempPageCol=新的ObservableCollection(l);
tempPageCol.Move(文件未完成,位置);
PageCollectionObservableCollection=tempPageCol;
CategoryLB.ItemsSource=PageCollectionObservableCollection;
CategoryLB.UpdateLayout();
}  
   PageCollection completedItem = fe.DataContext as PageCollection;
   int fileNoCompleted = completedItem.FileNo;
   if (completedItem.CompletionStatus == false)
   {
        int position = 0;

        for (int i = PageCollectionObservableCollection.Count - 1; i > -1; i--)
        {
            if (PageCollectionObservableCollection.ElementAt(i).CompletionStatus == false)
            {
                position = i;
                break;
            }
        }
        completedItem.CompletionStatus = true;
        completedItem.Color = Colors.Green;
        completionStatusArray[fileNoCompleted] = true;
    List<PageCollection> l = PageCollectionObservableCollection.ToList<PageCollection>();
        ObservableCollection<PageCollection> tempPageCol = new ObservableCollection<PageCollection>(l);
        tempPageCol.Move(fileNoCompleted, position);

        PageCollectionObservableCollection = tempPageCol;

        CategoryLB.ItemsSource = PageCollectionObservableCollection;
        CategoryLB.UpdateLayout();


   }