У меня есть пользовательский элемент управления с панелью, оборачивающей все остальные элементы управления. Элемент управления находится в одном из двух состояний: режим редактирования и нормальный. В режиме редактирования я хочу, чтобы элемент управления имел опцию другого цвета фона.
У меня есть:
В Pre_Render:
Panel1.BackColor = EditMode ? BackEditColor : BackColor;
И управляющие свойства:
[Bindable(true)]
[Category("Misc")]
[Description("The background color.")]
[DefaultValue("white")]
[Localizable(true)]
public Color BackColor
{
get { return Color.FromName(Convert.ToString(ViewState["BackColor"] ?? "white")); }
set { ViewState["BackColor"] = value.Name; }
}
[Bindable(true)]
[Category("Misc")]
[Description("The edit-mode background color.")]
[DefaultValue("#FFFFCC")]
[Localizable(true)]
public Color BackEditColor
{
get { return Color.FromName(Convert.ToString(ViewState["BackEditColor"] ?? "#FFFFCC")); }
set { ViewState["BackEditColor"] = value.Name; }
}
Я могу без проблем установить цвета через свойства элемента управления, но они отображаются только как белые при рендеринге. Как мне сохранять / читать в ViewState цвета?