나는 간단한 ListView
을 가지고 오름차순 또는 내림차순, 숫자 또는 알파벳 순으로 내용을 정렬 할. 선택 항목은 드롭 다운 상자에서옵니다. 내가 CollectionViewSource
정렬을 달성 할 수 있지만 어떻게 SortDescription 또는 방향을 즉시 변경할 수 있습니다 이해합니까?변경 목록보기 정렬 재산권/방향은
업데이트 : 내가 지금처럼 내 CVS는, 뷰 모델리스트 뷰가 현재 바인딩되는 것입니다 설정을 가지고 있으므로
좋아. 현재 선택된 콤보 상자 항목의 속성 PropertyName
에 바인딩 할 PropertyName이 필요합니다. 콤보 상자는 정렬하려는 propertyname을 표시하는 사용자 지정 목록에 바인딩됩니다. 그것은 사용하기 메신저 프롭퍼티를 뿌려
:
A '바인딩은'유형 'SortDescription'의 'PROPERTYNAME'속성에 설정할 수 없습니다. 'Binding'은 DependencyObject의 DependencyProperty 에서만 설정할 수 있습니다.
<CollectionViewSource Source="{StaticResource viewModel.ListValues}" x:Key="cvs">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="{Binding Path=SortPropertyName, Source=comboSort}"/>
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
<ListView ItemsSource="{Binding Source={StaticResource cvs}}" />
당신이 다음 (다른 비교 자에) 새로운 종류의 설명을 추가 이전 정렬 설명을 제거하고 마지막으로 내가 원하는 CollectionViewSource – punker76
에 새로 고침을 호출 할 수 있습니다 (뷰 모델에서 코드 가능) – Chris
예 다음은 상자 아래로 드롭이 당신의 ViewModel에서 속성을 결합하고 당신이 당신의 CollectionViewSource을 변경할 수 있습니다 그쪽으로 선택을 변경 한 후 수행합니다 (listvie 뒤에 어떤 코드를 즉 없습니다 만 XAML에서이 작업을 수행하는 w는 CollectionViewSource에 바인딩합니다.) – punker76