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;
            }
        }