开发者

Negative currency number XAML

开发者 https://www.devze.com 2023-01-23 07:26 出处:网络
I have a little problem with the current format of my negative currency number. Here\'s a screenshot resuming my situation.

I have a little problem with the current format of my negative currency number. Here's a screenshot resuming my situation.

  1. This is how I'm using the StringFormat in my binding. (BTW, I tried only {0:C})
  2. As expected
  3. The current settings of my computer for the negative currency number 4.
  4. The result when I'm running my application

Negative currency number XAML

Why the result isn't -0,08 $ ?

Any ideas of how I should proceed?

Thanks for your time.

UPDATE:

I tried to resolve the problem with a converter, here's the result :

  • I found that the Thread.CurrentThread.CurrentUICulture was not the same as the Thread.CurrentThread.CurrentCulture, so I fixed it in my App.xaml.cs. Unfortunately, same result.
  • I tried to display my values through a converter to see if I could debug the problem. The fact is that the culture received in the parameters of the Convert method was okay, but its开发者_C百科 CurrentNegativePattern was not the same as in the Thread.CurrentThread.CurrentCulture. That's probably the reason why I have this problem. for the moment, I'll use this : return ((double)value).ToString("C2", Thread.CurrentThread.CurrentCulture); in the Convert method of my converter.


Try changing the CurrentCulture to CurrentUICulture:

FrameworkElement.LanguageProperty.OverrideMetadata(
    typeof(FrameworkElement),
    new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentUICulture.IetfLanguageTag))
);

Please note though that this may not use your regional settings. The CultureInfo object does describe your regional settings, but what you're doing with the IetfLanguageTag is extracting that to a specific culture. That culture does not have the adjustments you've made to your regional settings.

Alternatively, you can have a look at the ConvertCulture option of the binding. This actually does take a CultureInfo.


Take a look at this

http://msdn.microsoft.com/en-us/library/ms745650.aspx

http://msdn.microsoft.com/en-us/library/ms788718.aspx

0

精彩评论

暂无评论...
验证码 换一张
取 消