/// <summary>
 /// Called to update the validation state for properties for which data validation is
 /// enabled.
 /// </summary>
 /// <param name="property">The property.</param>
 /// <param name="value">The new binding value for the property.</param>
 protected override void UpdateDataValidation <T>(AvaloniaProperty <T> property, BindingValue <T> value)
 {
     if (property == SelectedItemProperty)
     {
         DataValidationErrors.SetError(this, value.Error);
     }
 }
 /// <summary>
 /// Called to update the validation state for properties for which data validation is
 /// enabled.
 /// </summary>
 /// <param name="property">The property.</param>
 /// <param name="state">The current data binding state.</param>
 /// <param name="error">The current data binding error, if any.</param>
 protected override void UpdateDataValidation(
     AvaloniaProperty property,
     BindingValueType state,
     Exception?error)
 {
     if (property == SelectedItemProperty)
     {
         DataValidationErrors.SetError(this, error);
     }
 }
Beispiel #3
0
        private async void SaveButton_Click(object sender, RoutedEventArgs e)
        {
            DataValidationErrors.ClearErrors(NameBox);
            bool isInvalid = false;

            if (string.IsNullOrWhiteSpace(TempProfile.Name))
            {
                DataValidationErrors.SetError(NameBox, new DataValidationException(LocaleManager.Instance["UserProfileEmptyNameError"]));

                isInvalid = true;
            }

            if (TempProfile.Image == null)
            {
                await ContentDialogHelper.CreateWarningDialog(LocaleManager.Instance["UserProfileNoImageError"], "");

                isInvalid = true;
            }

            if (isInvalid)
            {
                return;
            }

            if (_profile != null)
            {
                _profile.Name  = TempProfile.Name;
                _profile.Image = TempProfile.Image;
                _profile.UpdateState();
                _parent.AccountManager.SetUserName(_profile.UserId, _profile.Name);
                _parent.AccountManager.SetUserImage(_profile.UserId, _profile.Image);
            }
            else if (_isNewUser)
            {
                _parent.AccountManager.AddUser(TempProfile.Name, TempProfile.Image);
            }
            else
            {
                return;
            }

            _parent?.GoBack();
        }