Как можно избежать сброса свойств во время разработки в жестко связанных пользовательских элементах управления?

2

У меня есть UserControl '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;
        }
    }

Затем у меня есть UserControl 'B', на котором есть UserControl 'A', и я установил свойство Text в "My Example Label" в дизайнере. Затем у меня есть мой MainForm, на котором есть UserControl 'B'.

Каждый раз, когда я выполняю сборку или запуск, свойство Text для UserControl 'A' равно reset по умолчанию. Я предполагаю, что это потому, что, поскольку я делаю перестроение, он восстанавливает оба UserControl "A" и "B", тем самым вызывая проблему.

Как я могу лучше подойти к шаблону проектирования, чтобы избежать такого поведения при работе с жестко привязанными элементами управления и формами в приложении?

Теги:
architecture
user-controls
design-time

1 ответ

6
Лучший ответ

У меня была та же проблема.

Попробуйте следующее:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню