自定义用户控件的自定义属性在重新生成期间重置
本文关键字:新生 用户 控件 自定义属性 自定义 | 更新日期: 2023-09-27 18:32:09
我有以下属性
[DefaultValue(true), Category("Behavior")]
public bool EnableBinding { get; set; }
[DefaultValue(false), Category("Behavior")]
public bool NeedApprove { get; set; }
使用设计器更改并保存然后重新生成时,通过设计器设置的新值将仅保留在属性 NeedApproved 中。启用绑定总是被重置为 false。
试
1)设计器序列化可见性属性,但没有工作!
- 可见
- 隐藏
- 内容
2) 将自动属性转换为完整属性 这奏效了。但是为什么?我们不能在不转换为完整财产的情况下实现这一目标吗?
应在自定义用户控件构造函数中为 EnableBinding 属性分配初始值:
public partial class CustomUserControl : UserControl {
public CustomUserControl() {
InitializeComponent();
EnableBinding = true; // !!!
}
[DefaultValue(true), Category("Behavior")]
public bool EnableBinding { get; set; }
[DefaultValue(false), Category("Behavior")]
public bool NeedApprove { get; set; }
}
否则,它将始终在反序列化期间初始化为false
。