Как можно избежать сброса свойств во время разработки в жестко связанных пользовательских элементах управления? - PullRequest
2 голосов
/ 29 июня 2009

У меня есть 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 значение "Мой пример ярлыка »в конструкторе.Затем у меня есть MainForm, в котором есть UserControl 'B'.

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

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

1 Ответ

6 голосов
/ 13 января 2010

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

Попробуйте это:

[Category("Appearance")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public override string Text
{
     get { return uxLabel.Text; }
     set { uxLabel.Text = value; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...