Studio for Silverlight: C1NumericBox 在绑定数据源时允许显示文本为空

C1NumericBox用于显示数值类型数据,可以设置显示的数值范围,用于控制用户输入行为。在绑定数据源时,默认情况下,数值如果 null,C1NumericBox会自动转换为 0,那么如何实现当数值为 null 时,C1NumericBox中的文本也为空呢?本篇博文将记录如何通过实现 IValueConverter 来实现这个功能。

发布于 2014/03/27 00:00

ComponentOne Enterprise

C1NumericBox用于显示数值类型数据,可以设置显示的数值范围,用于控制用户输入行为。在绑定数据源时,默认情况下,数值如果 null,C1NumericBox会自动转换为 0,那么如何实现当数值为 null 时,C1NumericBox中的文本也为空呢?

本篇博文将记录如何通过实现 IValueConverter 来实现这个功能。

下面分布讲解:

1.这里设置一个简单的数据源:

    public class Student

    {

        public object Score { get; set; }

    }

 

2.实现 IValueConverter 接口,在 Convert 方法中判断传入值,如果是 null 则返回 double.NaN:

    public class NumericBoxConverter : IValueConverter

    {

 
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)

        {

            if (value == null)

                return double.NaN;

 
            return value;

        }

 
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)

        {

            return value;

        }

    }

 

3.设置 Converter double.NaN 给 C1NumericBox ,这里需要定义 Binding,并且设置 AllowNull 属性为 true :

            Binding binding = new Binding();

            binding.Source = st1;

            binding.Path = new PropertyPath("Score");

            binding.Converter = new NumericBoxConverter();

            c1numberic1.AllowNull = true;

            c1numberic1.SetBinding(C1.Silverlight.C1NumericBox.ValueProperty, binding);

 

效果图:

image

Demo 下载:

VS2013+Silverlight 5.0 + Studio for Silverlight 2013V3 + C#

12140.zip

关于葡萄城

葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。

相关产品
推荐相关案例
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态