SilverLight 需要日期选择器验证

标签 silverlight validation silverlight-4.0

我有一个 SL4 用户控件。它包含一个日期选择器。该控件公开 DateTime 依赖属性(不可为 null,因为它是必填字段)。我已将 DatePicker 的 SelectedDate (它是 Nullable)绑定(bind)到 {RelativeSource Self} 的 DateTime 属性,作为双向。除非我在 DatePicker 中输入空日期,否则此绑定(bind)有效。绑定(bind)是使用 ValidatesOnExceptions 设置的,因此 DatePicker 的边框变为红色,但在工具提示中显示“输入的格式不正确”。但应该说该字段是必填的。

我尝试了一个自定义 IValueConverter,它使用自定义文本抛出异常(ValidationException、FormatException、InvalidOperationException 等),但它们最终都未得到处理。

我知道我的控件可以实现 INotifyDataErrorInfo,但问题是 null 值甚至无法进入我的控件,因为我的 DateTime 不可为 null,因此没有任何内容需要验证。

我可以轻松地完成这件事,根本不需要任何约束。或者通过绑定(bind)到控件中隐藏的 Nullable 属性,验证该属性不为 null,并公开另一个 DateTime 属性。或者通过提供一个 ValueConverter 将 null 转换为 DateTime.MinValue 或其他内容。

但这些方法似乎都是解决方法,我希望有更好的解决方案。处理这个问题的最佳方法是什么?

最佳答案

关于SilverLight 需要日期选择器验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5650857/

相关文章:

silverlight - Silverlight 中的反射限制

Silverlight打印尺寸太大

javascript - 将数据验证放在客户端和服务器端是否更好?

php - 登录系统,读取id和密码即可登录

Java后端文件类型验证

sql - 将datetime2数据类型转换为datetime数据类型导致超出范围?

c# - 属性和依赖属性有什么区别

silverlight - Http 托管 silverlight 应用跨域访问 https 托管服务

c#-4.0 - 计算 bing map 中两点之间的距离

binding - 处理 subview 的父 View 命令怎么办? View 建模会很乏味或不需要?