У меня возникли проблемы с попыткой поменять местами/переместить элементы в 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.NotSupportedException» возникло в System.Windows.ni.dll, но не было обработано в пользовательском коде.
Приведенный выше код отлично работал в Windows 8, но теперь он выдает исключение в WP8. Есть идеи?