protected virtual void ParentChanged(object obj) { var text = (obj as Label).Text; switch (text) { case nameof(SettingsView.BackgroundColor): NextColor(BackgroundColor, OuterColors); break; case nameof(SettingsView.SeparatorColor): NextColor(SeparatorColor, AccentColors); break; case nameof(SettingsView.SelectedColor): NextColor(SelectedColor, BackColors); break; case nameof(SettingsView.HeaderTextColor): NextColor(HeaderTextColor, DeepTextColors); break; case nameof(SettingsView.HeaderBackgroundColor): NextColor(HeaderBackgroundColor, BackColors); break; case nameof(SettingsView.FooterTextColor): NextColor(FooterTextColor, DeepTextColors); break; case nameof(SettingsView.FooterBackgroundColor): NextColor(FooterBackgroundColor, BackColors); break; case nameof(SettingsView.CellTitleColor): NextColor(CellTitleColor, DeepTextColors); break; case nameof(SettingsView.CellValueTextColor): NextColor(CellValueTextColor, PaleTextColors); break; case nameof(SettingsView.CellDescriptionColor): NextColor(CellDescriptionColor, PaleTextColors); break; case nameof(SettingsView.CellBackgroundColor): NextColor(CellBackgroundColor, CellBackColors); break; case nameof(SettingsView.CellAccentColor): NextColor(CellAccentColor, AccentColors); break; case nameof(SettingsView.CellHintTextColor): NextColor(CellHintTextColor, AccentColors); break; case nameof(SettingsView.ShowSectionTopBottomBorder): ToggleBool(ShowSectionTopBottomBorder); break; case nameof(SettingsView.UseDescriptionAsValue): ToggleBool(UseDescriptionAsValue); break; case nameof(SettingsView.HasUnevenRows): ToggleBool(HasUnevenRows); break; case nameof(SettingsView.HeaderPadding): ChangeThickness(HeaderPadding); break; case nameof(SettingsView.FooterPadding): ChangeThickness(FooterPadding); break; case nameof(SettingsView.HeaderFontSize): ChangeFontSize(HeaderFontSize); break; case nameof(SettingsView.FooterFontSize): ChangeFontSize(FooterFontSize); break; case nameof(SettingsView.CellTitleFontSize): ChangeFontSize(CellTitleFontSize); break; case nameof(SettingsView.CellValueTextFontSize): ChangeFontSize(CellValueTextFontSize); break; case nameof(SettingsView.CellDescriptionFontSize): ChangeFontSize(CellDescriptionFontSize); break; case nameof(SettingsView.CellHintFontSize): ChangeFontSize(CellHintFontSize); break; case nameof(SettingsView.HeaderHeight): ChangeHeight(HeaderHeight); break; case nameof(SettingsView.HeaderTextVerticalAlign): ChangeAlign(HeaderTextVerticalAlign); break; case nameof(SettingsView.CellIconSize): ChangeSize(CellIconSize); break; case nameof(SettingsView.CellIconRadius): ChangeHeight(CellIconRadius); break; case nameof(SettingsView.RowHeight): ChangeRowHeight(RowHeight); break; case "CacheClear": SettingsView.ClearCache(); break; default: break; } }