0

我有一个条目,它以两种方式与可空小数绑定,并具有数字键盘。一切都很好,除了我不能使用小数点。每当我按下 . (点)来自键盘,UI 不接受它。你们有什么想法吗?在线搜索对我没有帮助。谢谢。顺便说一句,我使用 Android 模拟器。

4

2 回答 2

0

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

您可以像这样使用转换器(String to double):

>

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

于 2020-06-09T19:30:39.050 回答
0

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

于 2020-05-21T21:48:01.977 回答