Имам проблеми при опитите да разменям/премествам елементи в ObservableCollection. Имам списък с елементи в списъчно поле, когато плъзнете елемент, той става завършен елемент и следователно се премества в края на списъка.. следващите пъти се измества нагоре.. напр.: ако има 3 елемента. когато прекараме пръст върху първия елемент, първият елемент се премества в края на списъка, което го прави трети елемент, вторият елемент се премества нагоре и става първи, а третият елемент се премества нагоре, за да стане 2-ри елемент.
Ето как съм декларирал екземпляра
private ObservableCollection<PageCollection> PageCollectionObservableCollection { get; set; }
и вътре в конструктора на класа, той се дефинира така, където PageCollection е класът, към който списъчната кутия е свързана с данни.
PageCollectionObservableCollection = new ObservableCollection<PageCollection>();
И докато се опитвам да плъзна върху елемент в Listbox, който е обвързан с данни, се изпълнява следният код.
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. някаква идея?