我在尝试交换/移动 ObservableCollection 中的项目时遇到问题。我在列表框中有一个项目列表,当您滑动一个项目时,它成为一个已完成的项目,因此移动到列表的末尾.. 随后的时间向上移动.. 例如:如果有 3 个项目。当我们在第一项上滑动时,第一项移动到列表的底部,使其成为第三项,第二项向上移动成为第一项,第三项向上移动成为第二项。
这就是我声明实例的方式
private ObservableCollection<PageCollection> PageCollectionObservableCollection { get; set; }
在类的构造函数中,它是这样定义的,其中 PageCollection 是列表框数据绑定到的类。
PageCollectionObservableCollection = new ObservableCollection<PageCollection>();
当我尝试在数据绑定的列表框中滑动项目时,执行以下代码。
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;
PageCollectionObservableCollection.Move(fileNoCompleted, position); // ERROR
}
当执行到达 PageCollectionObservableCollection.Move 时,将引发以下错误。
System.Windows.ni.dll 中出现“System.NotSupportedException”类型的异常,但未在用户代码中处理
上面的代码在 Windows 8 中就像一个魅力,但现在它在 WP8 中引发了异常。任何想法?