.NET自定义控件——与属性相关的设计时特性

来源:互联网 发布:远走高飞网络走红小伙 编辑:程序博客网 时间:2024/06/05 06:41

[Bindable(true|false)]

设置属性是否可以绑定一个有效数据源。链接到数据库、XML 文件或任何其他DataSet。该特性强制Visual Studio在控件的可绑定属性列表中显示属性。

[Browsable(true|false)]

设置属性或者事情是否在VS.NET的属性窗口中出现。

[Category("外观")]

设置属性或者事件在属性窗口中归于的组别。通常分为:外观(Appearance)、行为(Behavior)、布局(Layout)、数据(Data)、杂项(Misc)、操作(Action)、键盘(Key)和鼠标(Mouse)等。除此之外,读者还可以自定义分类,例如Category(”ItemStyle”),表示该属性在属性浏览器中显示为ItemStyle一组。

[Description("说明")]

关于属性的说明。它会出现在VS.Net属性窗口的说明之中。属性说明显示在控件列表下,并且也可能作为工具提示出现。

[DefaultValue("默认值")]

设置属性的默认值,值类型须与属性的类型一致。

[DefaultProperty("默认属性")]

指定服务器控件的默认属性。声明于包含属性的类之前。

[Localizable(true|false)]

设置属性是否被本地化。它会用发送信号的方式通知ASP.NET 2.0 Framework该控件包括可以针对不同语言或位置进行配置的文本属性。

[DefaultEvent("OnClick")]

也就是在VS.NET设计窗口中,双击控件时默认连接的事件处理。

[DesignerSerializationVisibility(……)]

指定属性是否以及如何在代码中序列化,其值为DesignerSerializationVisibility的枚举值。存在3种设置方式:
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)指定序列化程序不应该序列化属性的值;
DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)指定应该允许序列化程序序列化属性的值;
DesignerSerializationVisibility(DesignerSerializationVisibility.Content)指定序列化程序应该序列化属性的内容,而不是属性本身。

此字段为只读。

没有DesignerSerializationVisibility特性的成员将被视为具有值为DesignerSerializationVisibility.Visibility的DesignerSerializationVisibility特性。如果可能,序列化程序会将标记为Visible的属性值序列化为该类型。

[NotifyParentProperty(true|false)]

指示当此特性应用到的属性的值被修改时将通知其父属性。换言之,如果属性的父属性应该在该属性值更改时接到通知,则向该属性应用NotifyParentProperty特性。通常使用布尔值进行设置。例如,Size属性具有两个嵌套的子属性Width和Height。那么属性Width和Height就应标记为NotifyParentPropertyAttribute(true),以便当属性值更改时,它们可以通知父属性来更新其值并显示。

[ParseChildren(……)]

使用该特性指示当在页上以声明方式使用控件时,嵌套在服务器控件标记内的XML元素是应该视为属性还是应视为子控件。通常情况下,包含两种声明方式:

[ParseChildren(true)]表示将子XML元素作为服务器控件的属性分析,

[ParseChildren(false)]表示将子XML元素作为服务器控件的子控件分析;

[ParseChildren(bool childrenasProperty,string defaultProperty)],其中childrenasProperty和之前的布尔值参数意义相同,defaultProperty定义默认情况下将子控件分析为服务器控件的集合属性。

[PersistChildren(true|false)]

该特性指示设计时否应将服务器控件的子控件作为内部嵌套控件保持。如果为true,则将服务器控件的子控件作为嵌套服务器控件标记保持;如果为false,则将该控件的属性作为嵌套元素保持。

[PersistenceMode(……)]

指定如何将服务器控件属性或事件保持到ASP.NET页的元数据属性。共存在4种枚举设置方式:

PersistenceMode(PersistenceMode.Attribute),指定属性或事件保持为特性;

PersistenceMode(PersistenceMode.EncodeInnerDefaultProperty),指定属性作为服务器控件的唯一内部文本而属性值是HTML编码的,只能对字符串做这种指定;

PersistenceMode(PersistenceMode.InnerDefaultProperty),指定属性在服务器控件中保持为内部文本,还指示将该属性定义为元素的默认属性,只能指定一个属性为默认属性;

PersistenceMode(PersistenceMode.InnerProperty),指定属性在服务器控件中保持为嵌套标记,这通常用于复杂对象,它们具有自己的持久性属性。

[TypeConverter(……)]

指定用做此特性所绑定到的对象的转换器的类型。用于转换的类必须从TypeConverter继承。使用TypeConverterName属性来获取为该特性所绑定到的对象提供数据转换的类名。

原创粉丝点击