我怎样才能避免被特性在设计时重置在紧密绑定用户控件?(How can I avoid propert

2019-09-17 04:10发布

我有用户控件“A”有一个标签,这个属性:

    /// <summary>
    /// Gets or Sets the text of the control
    /// </summary>
    [
        Browsable(true),
        EditorBrowsable(EditorBrowsableState.Always),
        Category("Appearance")
    ]
    public override string Text {
        get {
            return uxLabel.Text;
        }
        set {
            uxLabel.Text = value;
        }
    }

然后,我有用户控件“B”具有用户控件“A”就可以了,我将Text属性设置为“我的例子标签”的设计师。 然后,我有我的MainForm,其中有用户控件“B”就可以了。

每次我做构建或运行,用户控件“A”的Text属性重置为默认值。 我想这是因为我做了重建,它将重建两个用户控件“A”和“B”,从而导致该问题。

我该如何去更好的方法来设计图案,以避免这种类型的行为在应用紧紧绑定控件和表单时?

Answer 1:

我有同样的问题。

尝试这个:

[Category("Appearance")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public override string Text
{
     get { return uxLabel.Text; }
     set { uxLabel.Text = value; }
}


文章来源: How can I avoid properties being reset at design-time in tightly bound user controls?