Example #1
0
        private void NotifyValidationStatusChanged(ValidationStatus status, IEnumerable <string> messages = null)
        {
            ValidationStatusChanged?.Invoke(this, new ValidationStatusChangedEventArgs(status, messages));
            StatusChanged.InvokeAsync(status);

            ParentValidations?.NotifyValidationStatusChanged(this);
        }
        /// <inheritdoc/>
        public void NotifyValidationStatusChanged(ValidationStatus status, IEnumerable <string> messages = null)
        {
            // raise events only if status or message is changed to prevent unnecessary re-renders
            if (Status != status || (Messages?.AreEqual(messages) == false))
            {
                Status   = status;
                Messages = messages;

                ValidationStatusChanged?.Invoke(this, new(status, messages) );
                InvokeAsync(() => StatusChanged.InvokeAsync(status));

                ParentValidations?.NotifyValidationStatusChanged(this);
            }
        }
        private void NotifyValidationStatusChanged(ValidationStatus status, string message = null)
        {
            ValidationStatusChanged?.Invoke(this, new ValidationStatusChangedEventArgs(status, message));

            ParentValidations?.NotifyValidationStatusChanged();
        }