2010-12-08 2 views
2

'성', '이름'등이있는 WPF4 DataGrid (WPF4에 포함 된 WPF4)이 있습니다. 예를 들어 사용자가 열 머리글을 클릭하면 지역화 된 정렬 순서에 따라 WPF에서 DataGrid를 미리 정렬

Anderson 
Rockford 
Ångström 

내가 '성'열이 사전 정렬하려면, 그래서
<CollectionViewSource.SortDescriptions> 
     <scm:SortDescription PropertyName="SurName" /> 
    </CollectionViewSource.SortDescriptions> 

을 추가 한 '성'은 모든 것이 내 문화의 설정 예에 따라 올바른 순서로 정렬됩니다 Pre-sorting a DataGrid in WPF 질문에 대한 답에서와 같이

과 같습니다. 수동으로 '성'헤더를 클릭

Andersson 
Ångström 
Rockford 

다시는-정렬 : 문제는 WPF는 이제 'A'는 'A'(I 그의 미국 정렬 순서를 추측)처럼 정렬 다른 정렬 순서를 사용한다 이름, 내 문화 설정에 따라 이번.

DataGrid를 미리 정렬 할 때 현재 문화권 설정을 사용하도록 WPF에 지시하려면 어떻게해야합니까?

답변

1

CollectionViewSource의 Culture 속성 설정을 시도 했습니까? 같은 뭔가 (drycoded) 가 귀하의 코멘트에 따라 편집 : 나는 CollectionViewSource 기본적으로 같은 문화를 사용하지 않을 이유는 잘 모르겠지만, 그렇지 않은 경우이 위해를 해결 재산해야

... in your namespaces 
xmlns:glob="clr-namespace:System.Globalization;assembly=mscorlib" 
.... 


<CollectionViewSource Culture="{x:Static glob:CultureInfo.CurrentCulture}"> 
    <CollectionViewSource.SortDescriptions> 
     <scm:SortDescription PropertyName="SurName" /> 
    </CollectionViewSource.SortDescriptions> 
</CollectionViewSource> 

당신.

도 참조 대상이 문자열이 잘못된 문화를 사용하는 것 어떻게 바인딩에이 문서는, 아마도 그것은 흘릴 수있는 당신을 위해 몇 가지 빛 : http://www.nbdtech.com/Blog/archive/2009/02/22/wpf-data-binding-cheat-sheet-update-the-internationalization-fix.aspx

또는이 질문 : WPF XAML Bindings and CurrentCulture Display

+0

'문화 = " {x : 정적 glob : CultureInfo.CurrentCulture} "'(어떤 이유에서든 '... CurrentUICulture'가 아닌) 작동합니다, thx! 왜 당신이 치트 시트 링크에 ​​설명 된대로 'OverrideMetadata' 수정을 사용했는지 알지 못합니다. – Batibix

관련 문제