Xamarin 表单条目绑定双向与可为空的小数不允许放置小数点



>我有一个条目,它以可空的小数双向绑定,并具有数字键盘。一切都很好,除了我不能使用小数点。每当我按.(点(从键盘,UI 不接受它。你们有什么想法吗?在线搜索对我没有帮助。谢谢。顺便说一句,我使用安卓模拟器。

我发现如果我将属性从可为空更改为不可为空(即十进制?到十进制(,那么UI接受小数点。你们知道为什么吗?为什么 UI 不允许在绑定属性可为空时输入小数点?

这是因为当值不完整(编辑(时,无法用定义的类型识别该值。

您可以使用转换器(字符串到双精度(,如下所示:

>

public class DoubleConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null)
return null;
return (double)value;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null)
return null;
string stringValue = value as string;
if (string.IsNullOrEmpty(stringValue))
return null;
double dbl;
if (double.TryParse(stringValue, out dbl))
{
if(dbl == 0)
{
return null;
}
return dbl;
}
return null;
}
}

参考:

https://forums.xamarin.com/discussion/60719/xamarin-forms-binding-nullable-double-to-entry

相关内容

  • 没有找到相关文章

最新更新