博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
让xamarin的Entry绑定时,支持Nullable类型
阅读量:5141 次
发布时间:2019-06-13

本文共 1078 字,大约阅读时间需要 3 分钟。

xamarin.forms默认情况下,如果属性是double?类型,绑定到Entry上,是无法实现双向绑定的,

可以自定义Converter实现双向绑定

public class NullableConverter : IValueConverter    {        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)        {            return System.Convert.ChangeType(value, targetType);        }        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)        {            if (value == null)                return null;            if( targetType.IsGenericType  )            {                Type valueType = targetType.GetGenericArguments()[0];                object result = System.Convert.ChangeType(value, valueType);                return Activator.CreateInstance(targetType, result);            }            return System.Convert.ChangeType(value, targetType);        }    }

然后在app.xaml里面,加入资源配置

然后,以后Entry绑定nullable类型时,可以这样写

Text="{Binding propertyName,Converter={StaticResource NullableConverter}}"

 

转载于:https://www.cnblogs.com/IWings/p/9993668.html

你可能感兴趣的文章
【转】Linux之printf命令
查看>>
关于PHP会话:session和cookie
查看>>
C#double转化成字符串 保留小数位数, 不以科学计数法的形式出现。
查看>>
利用IP地址查询接口来查询IP归属地
查看>>
构造者模式
查看>>
Hbuild在线云ios打包失败,提示BuildConfigure Failed 31013 App Store 图标 未找到 解决方法...
查看>>
找到树中指定id的所有父节点
查看>>
jQuery on(),live(),trigger()
查看>>
【架构】Linux的架构(architecture)
查看>>
ASM 图解
查看>>
Date Picker控件:
查看>>
你的第一个Django程序
查看>>
treegrid.bootstrap使用说明
查看>>
[Docker]Docker拉取,上传镜像到Harbor仓库
查看>>
javascript 浏览器类型检测
查看>>
nginx 不带www到www域名的重定向
查看>>
记录:Android中StackOverflow的问题
查看>>
导航,头部,CSS基础
查看>>
[草稿]挂载新硬盘
查看>>
[USACO 2017 Feb Gold] Tutorial
查看>>