2014-02-08 3 views
0

나는 코드 숨김으로 컬렉션에 묶여있는리스트 뷰를 가지고있다.windows store app listview update

collection.add(new CollectionItem()); 

의 ListView가 업데이트되며, 모든 작동 : 내가 모음 새 항목을 추가 할 때 때문에, 다음과 같이. 업데이트 어쩌려 구`t

collection = new ObservableCollection(collection.orderBy(key)); 

및 목록보기 : 는하지만 내가 컬렉션을 정렬 할. 나는 다음과 같은 것을하려고 노력 :

sCollection = new ObservableCollection(collection.orderBy(key)); 

foreach(CollectionItem item in sCollection) 
{ 
int oldIndex = collection.IndexOf(item); 
int newIndex sCollection.IndexOf(item); 
    if (oldIndex!=newIndex)) 
    { 
    collection.Move(oldindex,newIndex); 
    } 

목록이 업데이트되지만 너무 많이 떨어진다. 그것에는 150 개 정도의 요소가 있으며 그 이상은 아닙니다. 새 항목을 추가 할 때 바인드 된 모음을 정렬하고 업데이트하는 가장 좋은 방법은 무엇입니까?

+0

컬렉션 변경 후 목록보기를 다시 바인딩 할 수 있다고 생각합니다. –

+0

이렇게하면 뷰 요소의 컬렉션이 다시 생성되어 지연됩니다. –

답변

0

150 개의 항목을 짧게하려면 업데이트해야합니다. 메모리 또는 "깃털"코드를 덜 사용하면 문제를 해결할 수 있지만 조금 더 세게 사용할 수는 있지만 문제를 해결하는 데 더 좋은 알고리즘을 사용하거나 Thread.Sleep(10);을 추가하는 등 여러 가지 방법을 사용할 수 있습니다. 귀하의 컴퓨터가 작은 컴퓨터입니까? 그렇다면 다른 시스템에서 사용해보십시오. 행운을 빈다.

감사합니다.

관련 문제