У меня есть небольшая проблема с текущим форматом моего отрицательного номера валюты. Вот скриншот, возобновляющий мою ситуацию.
- Вот как я использую StringFormat в моей привязке. (BTW, я пробовал только {0: C})
- Как и ожидалось
- Текущие настройки моего компьютера для отрицательного номера валюты 4.
- Результат при запуске моего приложения
Почему результат не равен -0,08 $?
Любые идеи о том, как я должен действовать?
Спасибо за ваше время.
UPDATE:
Я попытался решить проблему с помощью конвертера, вот результат:
- Я обнаружил, что
Thread.CurrentThread.CurrentUICulture
не совпадает сThread.CurrentThread.CurrentCulture
, поэтому я исправил его в своем App.xaml.cs. К сожалению, тот же результат. - Я попытался отобразить мои значения через конвертер, чтобы проверить, могу ли я отладить проблему. Дело в том, что культура, полученная в параметрах метода
Convert
, была в порядке, но ееCurrentNegativePattern
была не такой, как вThread.CurrentThread.CurrentCulture
. Вероятно, это причина, по которой у меня есть эта проблема. на данный момент я буду использовать это:return ((double)value).ToString("C2", Thread.CurrentThread.CurrentCulture);
в методеConvert
моего конвертера.