2010-12-08 26 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」(私はそれが米国のソート順だと思う)のようにソートされている別のソート順を使用していること、です名前、私の文化の設定に従ってこの時間。

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'ではなく)動作します。なぜ私がそれを必要としているのか分からないのは、あなたのカンニングシートのリンクで説明されているように、 'OverrideMetadata'修正を使うからです。 – Batibix

関連する問題