ASP.net控件开发系列之五
} } public override bool IsReadOnly {get{return false;}} public override object GetValue(object o) //和关联对象的什么属性相关 { return ((YourControlType)o).Proterty_1; } public override void SetValue(object o, object value) //和关联对象的什么属性相关 { YourControlType uc = o as YourControlType; uc.Property_1 = (int)value; } public override void ResetValue(object o){}//望文生义 public override bool CanResetValue(object o) //望文生义 { return false; } /**////Does this property participate in code generation? public override bool ShouldSerializeValue(object o) { return false; } } } 类型转换器 在上一篇文章中,我们已经接触了TypeConverter,现在我们全面的来看看这个Interpreter: 1、TypeConverter从System.ComponentModel.TypeConverter类派生。 2、用使用[TypeConverter(typeof(YourTypeConverter))]绑定到属性。 3、在设计期和运行期都要用到TypeConverter,因为,两个时期都有特定类型-String之间的转换。 4、功能一:把属性转换成字符串显示在属性浏览器,把属性浏览器的设的值转换成属性需要的类型。 5、功能二:为子属性提供一个展开/折叠的UI。如下图: 要实现这个功能非常之简单,你先让属性通过TypeConverterAttribute关联到转换器类System.ComponentModel.ExpandableObjectConverter,或者继承自这个类的转换器。
6、为属性提供一个设计期值的下拉列表,正如我上篇文章所述。 7、System.Web.UI.WebControls namespace & System.ComponentModel namespace下已经有了这些转换器: 下面,我们就重点来看看如何实现不同类型和String怎么样来转换。 下面这个实例应该就得达到这个目的。
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |