//Se encarga de asignar el valor de la fecha y además de que no pueda ser la fecha fin incorrecta
        private void FechaFinDatePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
        {
            if (FechaFinDatePicker.SelectedDate.HasValue)
            {
                DateTime fecha = new DateTime();
                fecha = FechaFinDatePicker.SelectedDate.Value;

                Evento.End          = new EventDateTime();
                Evento.End.DateTime = new DateTime(fecha.Year, fecha.Month, fecha.Day, 23, 59, 59);

                if (!CamposCorrectos.ContainsKey(FechaFinDatePicker.Name))
                {
                    CamposCorrectos.Add(FechaFinDatePicker.Name, true);
                    ValidarCampos();
                }
            }
            else
            {
                if (CamposCorrectos.ContainsKey(FechaFinDatePicker.Name))
                {
                    CamposCorrectos.Remove(FechaFinDatePicker.Name);
                    ValidarCampos();
                }
            }
        }
        //Se encarga de convertir el estado a los valores admitidos por google
        private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ComboBox combobox = (ComboBox)sender;

            switch (ComboBoxEstado.SelectedIndex)
            {
            case 0:
                Evento.Status = "tentative";
                break;

            case 1:
                Evento.Status = "confirmed";
                break;

            case 2:
                Evento.Status = "cancelled";
                break;
            }

            if (!CamposCorrectos.ContainsKey(combobox.Name))
            {
                CamposCorrectos.Add(combobox.Name, true);
                ValidarCampos();
            }
        }
        //Añade el campo hora tal como seleccionamos uno de los combobos de hora
        private void ComboBoxHoras_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ComboBox hora = (ComboBox)sender;

            if (!CamposCorrectos.ContainsKey(hora.Name))
            {
                CamposCorrectos.Add(hora.Name, true);
                ValidarCampos();
            }
        }
        //Al cambiar la fecha repasa los dias no disponibles, los marca en el otro calendario, si estos no cuadraran avisa del error.
        private void FechaInicioDatePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
        {
            FechaFinDatePicker.IsEnabled = true;
            DateTime fechainicio = DateTime.Now;

            if (FechaInicioDatePicker.SelectedDate.HasValue)
            {
                fechainicio = FechaInicioDatePicker.SelectedDate.Value;
            }

            CalendarDateRange cdr = new CalendarDateRange(DateTime.MinValue, fechainicio.AddDays(-1));

            FechaFinDatePicker.BlackoutDates.Clear();

            try
            {
                FechaFinDatePicker.BlackoutDates.Add(cdr);
            }
            catch (ArgumentOutOfRangeException)
            {
                MessageBox.Show("La fecha de inicio no puede ser posterior a la de fin");
                FechaFinDatePicker.SelectedDate = null;
                FechaFinDatePicker.BlackoutDates.Add(cdr);
                if (CamposCorrectos.ContainsKey(FechaFinDatePicker.Name))
                {
                    CamposCorrectos.Remove(FechaFinDatePicker.Name);
                }
            }
            finally
            {
                if (!CamposCorrectos.ContainsKey(FechaInicioDatePicker.Name))
                {
                    CamposCorrectos.Add(FechaInicioDatePicker.Name, true);
                    DateTime fecha = new DateTime();
                    fecha = FechaInicioDatePicker.SelectedDate.Value;

                    Evento.Start          = new EventDateTime();
                    Evento.Start.DateTime = new DateTime(fecha.Year, fecha.Month, fecha.Day, 00, 0, 0);
                }
                ValidarCampos();
            }
        }
        //Comprueba que el campo de texto no esta vacio y en caso de no estarlo lo añade como correcto a la lista de campos
        private void TextoFormulario_TextChanged(object sender, TextChangedEventArgs e)
        {
            var textbox = (TextBox)sender;

            if (textbox.Text != String.Empty)
            {
                if (!CamposCorrectos.ContainsKey(textbox.Name))
                {
                    CamposCorrectos.Add(textbox.Name, true);
                    ValidarCampos();
                }
            }
            else
            {
                if (CamposCorrectos.ContainsKey(textbox.Name))
                {
                    CamposCorrectos.Remove(textbox.Name);
                    if (BotonAgregarEvento.IsEnabled == true)
                    {
                        BotonAgregarEvento.IsEnabled = false;
                    }
                }
            }
        }