これは自動化された方法では不可能です。 hereを読むことができるので、DXErrorProviderはインターフェイスIDXDataErrorInfo
に基づいてtotalyです。 DXArrorProviderはエラーアイコンと共にDataAnnotationsを使用している場合、コントロール自体によって処理されるため、DXErrorProviderは必要ありません。したがって、カスタムアイコンを使用する場合は、これをエラー処理の方法に混在させることができます。たとえば、あなたはsthを行うことができます。このように:
public class MyClass : IDXDataErrorInfo
{
[Range(0,100)]
[//Further custom validation]
public int Id {get;set;}
//Implement the Interface for your DXErrorProvider
public void GetPropertyError(string propertyname, ErrorInfo info)
{
List<ValidationResult> errors = new List<ValidationResult>();
if (propertyname.Equals(nameof(Id))
{
if (!Validator.TryValidateProperty(Id, new ValidationContext(this,null,null), errors))
{
string errorText = string.Empty;
errors.ForEach(e => errorText += e.ErrorMessage);
//This type set's the error-icon
info.ErrorType = //The Type you want ErrorType.Warning for example
info.ErrorText = errorText;
}
}
}
public void GetError(ErrorInfo info) {}
}
また、あなたのDataAnnotationsでcompletlyあなたの検証ロジックを処理するために、プロパティErrorType
で構成されていValidationResultから子孫を書くことができます。私がかなりうまくいくと思うただ一つの可能な解決策。