c# - IValueConverter 和异常验证

标签 c# silverlight

我正在使用自定义 DateTimeToString :IValueConverter

在我的 ConvertBack 方法中,当转换失败时我抛出异常,但是它没有显示为验证失败(这是一个未处理的应用程序异常),我想将其显示为验证问题(红色边框)。

简而言之,我希望它在显示验证消息(“输入字符串的格式不正确”)时像 DateTime+Texbox 一样工作,但使用我的自定义 IValueConverter。

最佳答案

虽然我同意 winSharp93的回答https://stackoverflow.com/a/6439620/29491原则上,我发现如果你返回 ValidationResult来自 ConvertBack方法,您将获得预期的验证行为。

您将需要使用 TryParseTryParseExact如下所示的方法或捕获 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/

相关文章:

c# - SpecFlow 特征文件中的多个多行示例

c# - 在 TableCell() 中的单元格之间添加空格

wcf - 从 Silverlight 调用 WCF 时发生 CommunicationException

c# - 多个操作的并行化和结果的连接

c# - Silverlight WrapPanel 不会在 Accordion 内部垂直拉伸(stretch)

c# - 将枚举值绑定(bind)到标签 XAML

c# - 无法使用 C# 驱动程序过滤 MongoDB 中的日期字段

c# - C#中的线程问题

silverlight - Silverlight 中没有标签控件吗?

c# - 是否应该在 Silverlight 中重用 WebClient 实例