[英]Decimal point is being removed in Entry
My converter is the following我的转换器如下
public class DecimalConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is decimal)
return value.ToString ();
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
decimal dec;
if (decimal.TryParse(value as string, out dec))
return dec;
else
return 0;
}
}
When I enter a number当我输入一个数字
Next entered the separator接下来进入分隔符
When I enter the decimal当我输入小数时
ends as 55以 55 结尾
In the view before在之前的视图中
after后
Resource:资源:
<support:DecimalConverter x:Key="DecimalConverter" />
Entry defined in the XAML XAML 中定义的条目
<Entry
BackgroundColor="{TemplateBinding BackgroundColorAmountEntry}"
IsEnabled="{TemplateBinding IsByAmount}" Keyboard="Numeric"
Text="{TemplateBinding CommissionWithTaxAmount,
Converter={StaticResource DecimalConverter}}" />
How could I solve it if I want it to be according to the culture?如果我希望它符合文化,我怎么能解决它?
You can enforce "en-us" culture for TryParse()您可以为TryParse()强制执行“en-us”文化
public class DecimalConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is decimal)
return value.ToString ();
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
decimal dec;
var style = NumberStyles.Number | NumberStyles.AllowDecimalPoint;
var cultureEnUs = new CultureInfo("en-US");
if (decimal.TryParse(value as string, style, cultureEnUs, out dec))
return dec;
else
return 0;
}
}
When language is set to French, decimal point separator ',' is ignored in binding to a double property当语言设置为法语时,小数点分隔符“,”在绑定到双属性时将被忽略
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.