Поиск ответа Я прихожу к этому, когда у меня есть базовая форма и использую свойства, которые получают / устанавливают свойство из элемента управления напрямую, например:
public bool ControlVisibility
{
get{ return control.Visibility; }
set{ control.Visibility = value; }
}
При модификации в дочерних формах эта модификация не сохраняется в коде, и видимость определяется базовой формой, поэтому каждый раз, когда открывается дочерняя форма или проект перестраивается, видимость унаследованных элементов управления по умолчанию устанавливается на базовое значение формы. Чтобы решить эту проблему, мы должны добавить поле и изменить его значение в свойстве:
private bool _controlVisibility;
public bool ControlVisibility
{
get{ return _controlVisibility; }
set
{
_controlVisibility = value;
control.Visibility = value;
}
}
Таким образом, свойство сохраняется в коде.