Hourglass.Windows.ThemeManagerWindow.BindState C# (CSharp) Method

BindState() private method

Binds the ThemeManagerWindowState to the controls.
private BindState ( ) : void
return void
        private void BindState()
        {
            switch (this.state)
            {
                case ThemeManagerWindowState.BuiltInTheme:
                    this.NameTextBox.IsEnabled = false;
                    this.DeleteButton.IsEnabled = false;

                    foreach (ColorControl control in this.ColorsGrid.GetAllVisualChildren().OfType<ColorControl>())
                    {
                        control.IsEnabled = false;
                    }

                    this.SaveButton.Visibility = Visibility.Collapsed;
                    this.CancelButton.Visibility = Visibility.Collapsed;
                    this.CloseButton.Visibility = Visibility.Visible;
                    break;

                case ThemeManagerWindowState.UserThemeUnedited:
                    this.NameTextBox.IsEnabled = true;
                    this.DeleteButton.IsEnabled = true;

                    foreach (ColorControl control in this.ColorsGrid.GetAllVisualChildren().OfType<ColorControl>())
                    {
                        control.IsEnabled = true;
                    }

                    this.SaveButton.Visibility = Visibility.Collapsed;
                    this.CancelButton.Visibility = Visibility.Collapsed;
                    this.CloseButton.Visibility = Visibility.Visible;
                    break;

                case ThemeManagerWindowState.UserThemeEdited:
                    this.NameTextBox.IsEnabled = true;
                    this.DeleteButton.IsEnabled = true;

                    foreach (ColorControl control in this.ColorsGrid.GetAllVisualChildren().OfType<ColorControl>())
                    {
                        control.IsEnabled = true;
                    }

                    this.SaveButton.Visibility = Visibility.Visible;
                    this.CancelButton.Visibility = Visibility.Visible;
                    this.CloseButton.Visibility = Visibility.Collapsed;
                    break;
            }
        }