I have an application, which is based for India, and I’m setting Culture as:
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-IN");
The above code is called before the Window.InitializeComponent() method is called.
Still this is showing $ as CurrencySymbol in all TextBoxes.
If I bind a TextBox as following, it shows Rs. as CurrencySymbol:
Text="{Binding Salary,Mode=TwoWay,StringFormat=C,ConvertCulture=en-IN}".
I think you will need to add the following.
Read more here:
http://www.west-wind.com/weblog/posts/2009/Jun/14/WPF-Bindings-and-CurrentCulture-Formatting
Just to give you an example, this is how I initialize the Culture in my program, based on the user setting, but you can simply replace
UserSettings.DefaultCultureandUserSettings.Default.UICultruewith your wanted Culture.