/// <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); } }
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(); }