zoukankan      html  css  js  c++  java
  • Asp.net Web控件自定义类属性(经验篇)

    做控件设计时,我们往往需要用自己定义的类来做为控件的属性,

    但是,很不幸的是,IDE并不能预先知道新类别的诞生,因此,我们需要

    有TypeConverter来做个转换,把自己定义的对象转换为字符串显示到控件

    的属性页中,把属性页中的字符串(颜色在aspx中的体现也是字符串,如:

    #eef008)转换为自定义类。

              TypeConverter实现步骤可以有以下两种方式:

              一:套用系统定义的TypeConverter类,对自定义属性类做转换,比如套用

    ExpandableObjectConverter等。

             二:套用自己定义的TypeConverter类,对自定义属性类做转换.

              第一种方式,我在前面的文章已经有例子,我们重点讨论第二种方式,首先一个建议

    是,如果要使用自定义的TypeConverter类来做转换,这个类最好继承TypeConverter,而不要

    继承ExpandableObjectConverter等从TypeConverter继承来的类。

              套用ExpandableObjectConverter可以让属性呈树结构展示,而自己写的TypeConverter

    是可以使用编辑字符串改变属性设置,如果在自己定义的TypeConverter中继承

    ExpandableObjectConverter,我发现有时候在编辑类属性的子属性的时候,IDE有时候并没有

    及时的更新ParentProperty(已经给自定义类的属性加NotifyParentProperty=true),所以,

              最好不要用自己写的TypeConverter类去继承ExpandableObjectConverter,尽管这样

    既可以通过修改类属性的子属性修改Web控件的属性值,也可以直接编辑字符串修改属性,

    但是有时候会出一些小问题,让你觉得不舒服。

              所以,建议要么直接套用ExpandableObjectConverter,要么自己写的属性类继承

    TypeConverter,不要去继承ExpandableObjectConverter。

  • 相关阅读:
    Codeforces 992C(数学)
    Codeforces 990C (思维)
    Codeforces 989C (构造)
    POJ 1511 Invitation Cards(链式前向星,dij,反向建边)
    Codeforces 1335E2 Three Blocks Palindrome (hard version)(暴力)
    POJ 3273 Monthly Expense(二分)
    POJ 2566 Bound Found(尺取前缀和)
    POJ 1321 棋盘问题(dfs)
    HDU 1506 Largest Rectangle in a Histogram(单调栈)
    POJ 2823 Sliding Window(单调队列)
  • 原文地址:https://www.cnblogs.com/zhuor/p/282811.html
Copyright © 2011-2022 走看看