1
가 나는 ItemsControl
에 대한 항목을 생성하는 데 사용되는 뷰 모델이 있습니다이 CollectionViewSource가 열거 형의 ToString() 결과를 정렬하지 않는 이유는 무엇입니까?
public class PermissionItemViewModel
{
public PermissionsEnum Permission {get; set;}
}
열거 형 자체는 방식으로 정의 된 목록이 알파벳 순서로 자연스럽게 아님을, 제어는 항목을 렌더링 할 때 열거 형 정의와 같은 순서입니다.
제 생각에는 CollectionViewSource
을 정의하고 본질적으로 myEnumValue.ToString()
인 항목을 정렬하려고합니다. 대신 정렬은 (내 생각 엔) 암시적인 ToString()
결과 대신에 enum 값의 순서대로되는 것 같습니다.
<CollectionViewSource x:Key="permissionsViewSource"
Source="{Binding PermissionItems}"> <!-- ObservableCollection<PermissionItemViewModel> -->
<CollectionViewSource.SortDescriptions>
<cm:SortDescription PropertyName="Permission" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
는 궁극적으로,이 같은 소스를 사용
<ItemsControl ItemsSource="{Binding Source={StaticResource permissionsViewSource}}" />
내가 그들의 값을 열거 형의 이름으로 정렬 할 싶습니다. 강제로 어떻게 할 수 있습니까?
예제가 있으면 도움이 될 것입니다. . 내가 직접 행동을 시도했지만 유효한 '보기'를 얻지 못했습니다. 그 행동의 모든 사건들은 그것이 성립되기 전에 시작되는 것처럼 보이므로 나는 분류자를 지정할 것이 아무것도 없다. – DonBoitnott
긁힘. 사용할 수있는'CollectionViewSource'에는'Filter' 이벤트가 있습니다. 나는 단지 분류기를 한 번만 설정하기 위해 조건을 넣었으므로 제대로 작동하는 것 같습니다. 고마워, 에드. – DonBoitnott