ObservableCollection에서 항목을 교환/이동하는 데 문제가 있습니다. 목록 상자에 항목 목록이 있습니다. 항목을 스 와이프하면 완료된 항목이되고 목록의 끝으로 이동합니다. 다음 번에는 위로 이동합니다. 예 : 3 개의 항목이있는 경우. 첫 번째 항목을 스 와이프하면 첫 번째 항목이 목록의 맨 아래로 이동하여 세 번째 항목이되고 두 번째 항목이 먼저 이동하고 세 번째 항목이 위로 이동하여 두 번째 항목이됩니다.System.NotSupportedException 'WP8에서 ObservableCollection 항목을 이동하는 중입니다.
이 내가 인스턴스
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에서 발생하지만, 위의 코드는 윈도우 8에서 마법처럼 일했다
사용자 코드에서 처리되지 않은 유형의 예외입니다 하지만 지금은 WP8에서 예외를 던졌습니다. 어떤 생각?