У меня есть 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", тем самым вызывая проблему.
Как я могу лучше подойти к шаблону проектирования, чтобы избежать такого поведения при работе с жестко привязанными элементами управления и формами в приложении?
У меня была та же проблема.
Попробуйте следующее:
[Category("Appearance")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public override string Text
{
get { return uxLabel.Text; }
set { uxLabel.Text = value; }
}