我正在使用自定义 DateTimeToString :IValueConverter
在我的 ConvertBack 方法中,当转换失败时我抛出异常,但是它没有显示为验证失败(这是一个未处理的应用程序异常),我想将其显示为验证问题(红色边框)。
简而言之,我希望它在显示验证消息(“输入字符串的格式不正确”)时像 DateTime+Texbox 一样工作,但使用我的自定义 IValueConverter。
最佳答案
虽然我同意 winSharp93的回答https://stackoverflow.com/a/6439620/29491原则上,我发现如果你返回 ValidationResult来自 ConvertBack方法,您将获得预期的验证行为。
您将需要使用 TryParse或 TryParseExact如下所示的方法或捕获 FormatException如果您使用 Parse方法。
DateTime result;
if (DateTime.TryParseExact(dateString, dateFormat, culture, DateTimeStyles.None, out result))
{
return result;
}
else
{
return new ValidationResult("Date string format error");
}
关于c# - IValueConverter 和异常验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6439527/