StringFormat в XAML, WPF: форматирование валюты

Как я могу получить форматирование валюты в соответствии с моей страной, т. Е. Индийские рупии, индийские рупии или рупии?

Подскажите, пожалуйста, как этого добиться ?? Прямо сейчас, когда я использую StringFormat = "{} {0: C}", используется "$"

Я прошел через это link, и я могу достичь желаемого результата, но меня беспокоит использование этого в моем проекте. Безопасен ли этот код ??

Что означает эта строка в приведенной выше ссылке "при тестировании функциональности, связанной с изменением настроек, важно запускать программу непосредственно из окна папки, если вы запустите ее из Visual Studio или любой другой программы, вы можете получить неверные результаты . "


person Pankaj Upadhyay    schedule 19.01.2011    source источник
comment
Насколько я могу судить, код, который вы связали, совершенно безопасен.   -  person Jens    schedule 19.01.2011
comment
У меня никогда не было неправильных результатов с использованием понравившейся вам кодировки.   -  person Mark    schedule 19.01.2011
comment
На самом деле я написал чертовски много кода, и осталась только часть StringFormat. Причина, по которой я беспокоюсь, заключается в том, что в этой ссылке говорится, что вам нужно снова обновить все привязки, и есть некоторые другие предупреждения. У меня так много привязок, поэтому я не могу позволить себе переписать снова. Вы уверены, что больше ничего делать не нужно, если я использую этот код?   -  person Pankaj Upadhyay    schedule 19.01.2011


Ответы (2)


Вы можете указать культуру в своей привязке следующим образом:

TextBlock Text="{Binding Value, StringFormat=C, ConverterCulture=nl-BE}" 

nl-BE - это бельгийская культура, вы можете обменяться ею на информацию об индийской культуре, я этого не знаю ;-)

person Kim Breugelmans    schedule 19.01.2011
comment
это хорошее решение. Выберете между этим или решением, упомянутым в вопросе выше. - person Pankaj Upadhyay; 19.01.2011

Или вы можете настроить текущий поток на правильную культуру, чтобы вы могли использовать его везде в своем приложении:

Thread.CurrentThread.CurrentUICulture = new CultureInfo("hi-IN");
person Arcturus    schedule 19.01.2011