2009-06-03 13 views
6

날짜가있는 열이있는 WPF ListView가 있습니다. 날짜 맞춤 정렬 방법을 싶습니다 (문자열 값 대신 날짜 값으로). 이것을 할 수있는 방법이 있습니까? 지금은 다른 열을 사용하여 정렬하려면 list.Items.SortDescriptions를 사용하지만 대신 날짜 열을 정렬하려면이 값을 변경하고 싶습니다.목록 정렬 날짜순으로

감사합니다.

답변

7

시도해 보셨습니까?

ICollectionView view = CollectionViewSource.GetDefaultView(listView.ItemsSource); 
view.SortDescriptions.Add(new SortDescription("Date", ListSortDirection.Descending)); 

편집 : 당신은 WPF는 기본적으로 정렬되는 방식은 당신이 의도 아니라는 것을 발견하는 경우 또한 this attached property

+0

예 이제 알았습니다. 어쩌면 나는 그것이 단지 문자열 비교를 할까봐 두려웠다. 내 문자열 날짜를 날짜 개체로 변환 한 속성을 만들었고 잘 작동합니다. 감사. – Max

+0

XAML을 사용하여 그렇게 할 수 있는지 알고 있습니까? – SRKX

+1

물론, [MSDN의 예제] (http://msdn.microsoft.com/en-us/library/system.windows.data.collectionviewsource.aspx) –

1

ObservableList와 사용자 정의 개체 유형을 사용하고 정렬 작업을 직접 수행하십시오. ItemsSource를 사용하여 ListView를 ObservableList에 연결하십시오.

... 또는이 블로그에서 설명하는 것을 시도해 볼 수 있습니다. Sorting ListViews

3

에 모습을 가질 수 있습니다, 당신은 기본에 사용자 정의 분류기를 제공 할 수 있습니다 보기 : DateValueSorter는 날짜 값에 따라 IComparer 인터페이스와 종류를 구현하고 당신이 찾고있는 순서를 생성하는 클래스입니다

ListCollectionView view = 
    (ListCollectionView)CollectionViewSource.GetDefaultView(listView.ItemsSource); 
view.CustomSort = new DateValueSorter(); 
listView.Items.Refresh(); 

.