Привет, извините за мой плохой английский ...
У меня есть очень простое текстовое поле в моем приложении sl4, например:
<TextBox Text="{Binding Source={StaticResource Valor}, Path=ValorReal, ValidatesOnExceptions=True, Mode=TwoWay, ValidatesOnDataErrors=True, StringFormat=\{0:c\}, NotifyOnValidationError=True}" />
и класс вроде:
public class Valor: INotifyPropertyChanged
{
double _valorReal;
public double ValorReal
{
get
{
return _valorReal;
}
set
{
_valorReal = value;
RaisePropertyChanged("ValorReal");
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void RaisePropertyChanged(string property)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(property));
}
}
}
Я живу в Бразилии, поэтому здесь десятичный разделитель - ",", а групповая цифра - ".", Поэтому $ 1.000,50 - это одна тысяча долларов и пятьдесят центов.
Но используяПример выше, если я наберу 1000,50 в текстовом поле, после того как я выйду из поля, оно превратится в $ 100,050.00.Как получить правильные настройки?
CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator, CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol, CultureInfo.CurrentCulture.NumberFormat.NumberGroupSeparator * 1014 имеют право * 1014игнорирует их в моей привязке: (
Я пытался поместить туда System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("pt-BR");
, но ничего не произошло ...