ListBox에 ItemSource가 CollectionViewSource
에 바인딩되어 있습니다. CVS 소스는 XmlDataProvider
입니다. 그래서 ListBox는 지정한 모든 노드 (name 속성)를 나열합니다. 이제 이러한 노드에는 특성이 있으며 ListBox를 정렬해야합니다. 문제는 기본 데이터가 xml이므로 모든 값 (노드의 특성)은 문자열이지만 일부 값은 숫자 값을 나타냅니다. CollectionViewSource.SortDescriptions.add (...)
으로 정렬하면 해당 문자열 (문자열) 값이 알파벳순으로 정렬되므로 2,10,5의 시퀀스는 2,5,10 대신 10,2,5로 정렬됩니다. 어떻게 해결할 수 있습니까?목록 상자에서 숫자 문자열 정렬
솔루션이 ListView의 CustomSort에있는 경우 누군가 내게 기본 XmlDocument를 사용하는 방법에 대한 빠른 예제를 제공해 주시겠습니까?
나는 그것이 IComparer를 구현하는 클래스를 작성하는 것만 큼 쉽지만 어쨌든 나는 길을 잃을 것이라고 생각했다. 속성의 이름을 메서드에 전달하여 CVS에서 모든 속성을 "추출"하고 부동 소수점으로 변환 (이 경우)하고 표준 함수로 정렬 할 수 있습니다 ... 하지만 완전히 ....이 CustomSort이 정직하게 작동하는 방법에 손실
희망이 종류이기 때문에이은을 XmlDocument 틈을 파고하지 않고있다 주어진 :
감사
읽고있는 데이터 중 일부만 숫자로 표시되는 경우 전체 정렬을 어떻게 구현할 계획입니까? 내 말은, 당신이 2, 10, 5, 5a의 순서를 가지고 있다면, 어떻게 보일까요? 숫자가 아닌 모든 숫자가 숫자 순서로 정렬 된 숫자 전후에 오는가? –
영숫자 문자열이 없습니다. "name"과 같은 속성은 문자열 및 orderd와 같이 해석 될 수 있지만 "XcalAttribute"이므로 스팅으로 저장되는 "age"와 같은 속성이지만 숫자 값으로 처리되기를 원합니다. 다른 부분에서는이 변환기를 사용하여 간단하게 변환 할 구체적인 sortdescription을 알 수 없거나 xmldocument를 사용하지 않고 datastructure에 대한 고유 한 클래스를 만드는 것 이외의 다른 방법을 사용하는 방법을 알지 못합니다. 불행히도 이것은 질문 ..... ..... – ch40s