442 messaggi dal 09 marzo 2006
ho provato questa libreria ma non sono riuscito a validre una datagrid sia di wpf vs 2015 sia di devexpress , non riesco a capire come fare a fare comparire le icone e il tooltip dell errore.
ho visto che bisogna implementare ValidatableViewModelBase, io ho fatto derivare il mio model code first da ValidatableViewModelBase
e settato gli errori a "mano" su di una lista cosi:
 public override void ChangeLanguage(string item)
        {

            repoDesc = new GenericDataRepository.GenericDataRepository<tb_descPrestashop>();

            data = (repoDesc.GetList(d => d.tb_lingua.Equals(item)));
            foreach(tb_descPrestashop it in data)
                Validator.AddAsyncRule(() => it.tb_categoria,
                     async () =>
                     {
                         var isAvailable = false;

                         return RuleResult.Assert(isAvailable,
                             string.Format("User Name  is taken. Please choose a different one."));
                     });

            OnPropertyChanged("data");
        }

poi:
 private void Validate()
        {


            var uiThread = TaskScheduler.FromCurrentSynchronizationContext();

            Validator.ValidateAllAsync().ContinueWith(r => OnValidateAllCompleted(r.Result), uiThread);
        }

        private void OnValidateAllCompleted(ValidationResult validationResult)
        {
            UpdateValidationSummary(validationResult);
        }

        private void OnValidationResultChanged(object sender, ValidationResultChangedEventArgs e)
        {
            if (!IsValid.GetValueOrDefault(true))
            {
                ValidationResult validationResult = Validator.GetResult();

                UpdateValidationSummary(validationResult);
            }
        }

        private void UpdateValidationSummary(ValidationResult validationResult)
        {
            IsValid = validationResult.IsValid;
            ValidationErrorsString = validationResult.ToString();
        }
        public override void Save(bool ok)
        {
            Validate();
            base.Save(ok);
        }


ma non vedo nulla, c'è qualche proprieta da mettere nello xaml?
ho provato due giorni adesso chiedo a voi.
grazie.
442 messaggi dal 09 marzo 2006
riuscito , stupidamente ereditavo dalla classe ValidatableViewModelBase nel viewmodel, l'ho messa nel model e ho capito il codice.
ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.