2016-12-19 18 views
0

ファーストフードの領収書を作っています。 1つの列が、私はユーロ記号を取得するだけでデータグリッドに私はドルのようにそれを得る他の場所では、この

<DataGridTextColumn Header="MenuPrice" x:Name="MenuPrice" 
             Binding="{Binding MenuPrice, StringFormat=C2}" Width="100" /> 

のようにXAML で、それは通貨としてだ設定しようとする価格です。実際にユーザーのWindows設定に従うように変更するにはどうすればよいですか?他の場所のように。

enter image description here

あなたが湖底で見た場合、私はこの

total.toString("c2"); 

のように合計の結果であるラベルを持っていると私はユーロ記号を取得しますが、データグリッド

答えて

1

で、私は信じていませんこれは基本的にthis questionの複製です。

chosen answer状態:

私は、これは.NET 4で修正されているかどうかわからないんだけど、通貨のようなものや 日付をレンダリングするときWPFは、現在の文化を取り上げたことがない ました。

また、解決策が得られます。私はあなたが純粋なXAMLでこれを行うことはできません怖いです

yourDataGrid.Language = System.Windows.Markup.XmlLanguage.GetLanguage(System.Threading.Thread.CurrentThread.CurrentCulture.IetfLanguageTag); 

+1

ありがとうございます。これはまさに私の問題です。なぜ私はそのポストを見つけることができなかったのだろうかと思う。 –

+0

@ phi1010も、あなたがさらなる読書をしたいならば、非常に似ていた[別の質問](http://stackoverflow.com/questions/991526/wpf-xaml-bindings-and-currentculture-display)を指摘しました。 –

1

は、あなたのスレッドの現在の文化へのDataGridのLanguageプロパティを設定します。

+0

この回答の最初の部分の問題は、質問の要件として明記されているように、「ユーザーのウィンドウ構成」に従わないことです。 –

+0

これを指摘してくれてありがとう。私は私の答えを編集しました。 – mm8