不要误解设计元属性DefaultValue

来源:互联网 发布:淘宝如何买烟 编辑:程序博客网 时间:2024/06/06 12:50

 不要误解设计元属性DefaultValue

个人认为这里的命名DefaultValue很不好,容易让人理解成给控件属性赋予默认值,其实它的真正意义不是这样的。

DefaultValue的功能主要体现在如下两点:

1.是否在属性窗口中标签为粗体

比如为一个属性设置了DefaultValue("请输入值:"),则在属性窗口中我们默认看到属性的值仍然为null。这时当我们设置属性的值为"请输入值:",则当前属性标记会以粗体字体显示;否则,显示正常字体。

2.运行时是否读取属性

还是如1中设置DefaultValue("请输入值:")。如果这时设置属性的值为"请输入值:",则在控件执行时系统不会读取属性的值(属性的get语句不会执行),而是返回null作为属性的值;反之,如果我们设置属性的值与DefaultValue属性值不同(不为"请输入值:"),则控件在生成时会读取我们实际设置的值。

综上所述,如果我们设置了元设计属性DefaultValue("请输入值:"),则在构造方法中,也应该为当前属性设置默认值为this.PropertyName ="请输入值",才能够保持逻辑一致;否则建议设置为DefaultValue("")即可。