private void OnTextChange(object sender, TextChangedEventArgs e) // hago mas comprobaciones al ingresar texto e impido ingresar texto incorrecto
        {
            design = new DesignControl(this);                            // vuelvo a iniciar la variable design porque cuando se produce el evento por primera vez que
            // es al cambiar el texto en xaml aun no se ha iniciado en esta clase
            TextBox textBox = sender as TextBox;

            if (textBox.Name == "txt_hex")
            {
                if (DesignControl.IsHex(textBox.Text))
                {
                    if (textBox.Text.Length == 9 && design.IsAlpha)
                    {
                        design.setColor(ColorTools.FromHex(textBox.Text));
                    }

                    else if (textBox.Text.Length == 7 && !design.IsAlpha)
                    {
                        design.setColor(ColorTools.FromHex(textBox.Text));
                    }
                }
                else
                {
                    txt_hex.Text = ColorTools.LastColor.ToHex(true);
                }
            }

            else if (textBox.Name != "txt_alpha")
            {
                if (!DesignControl.TextIsNumeric(textBox.Text) || string.IsNullOrWhiteSpace(textBox.Text))
                {
                    textBox.Text = "0";
                }
            }

            else
            {
                if (DesignControl.TextIsNumeric(textBox.Text) && !string.IsNullOrWhiteSpace(textBox.Text))
                {
                    int number = Convert.ToInt32(textBox.Text);
                    if (!DesignControl.IsPercent(number))
                    {
                        textBox.Text = "0";
                    }
                }
                else
                {
                    textBox.Text = "0";
                }
            }
        }
        private DesignControl design; // esta clase la ocupo para aceder a los controles de diseño de la aplicacion

        public MainWindow()
        {
            InitializeComponent();

            design = new DesignControl(this);
            design.setColor(Color.FromArgb(255, 137, 200, 100)); // pongo un color por defecto para que se muestre
        }
 public void OnChangeColor(object sender, RoutedPropertyChangedEventArgs <double> e) // cambio el color que se muestra en el cuadro
 {
     design.setColor(design.getColor());
 }