2016-12-19 73 views
0

我正在製作快餐收據。一列是價格,我嘗試設置它的貨幣在XAML 這樣

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

在其他地方,我得到歐元符號,但只有在DataGrid中,我得到它作爲美元。我怎麼能改變它實際上遵循用戶的Windows配置?像其他地方一樣。

enter image description here

,如果你在BUTTOM看到我有一個標誌,是這樣

total.toString("c2"); 

總的結果,我得到的歐元符號而不是在數據網格

回答

1

我相信這基本上是this question的重複。

chosen answer狀態:

我不知道這是否已被固定在.NET 4中,但渲染之類的貨幣或 日期時,WPF從未 拿起了當前文化。

它也給出了一個解決方案。

+1

謝謝隊友。這正是我的問題。但我想知道爲什麼我找不到那個帖子。 –

+0

@ phi1010也指出了一個[不同的問題](http://stackoverflow.com/questions/991526/wpf-xaml-bindings-and-currentculture-display),如果你想進一步閱讀,那是非常相似的。 –

1

設置DataGrid到你的線程的當前區域性的語言特性:

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

恐怕你不能在純XAML做到這一點。

+0

這個答案的第一部分的問題是,它不會遵循「用戶的Windows配置」,正如問題中的要求所述。 –

+0

感謝您指出這一點。我編輯了我的答案。 – mm8