【发布时间】:2010-12-28 06:42:01
【问题描述】:
我有 Silverlight 3 应用程序,其中包含两个日期选择器用于开始日期和结束日期。 它们是绑定到实现验证逻辑的业务对象的数据,因此 StartDate 必须在 EndDate 之前,EndDate 必须在 StartDate 之后。
到目前为止,一切都很好 - 当在各自的 setter 中引发验证异常时,两个控件都会显示相应的验证错误。
我的问题是,如果用户更改“其他”控件以使第一个控件中的“无效”日期现在有效,则第一个控件的状态不会改变(因为尚未调用其设置器)。
例如,如果我将 StartDate 设置为 2009 年 12 月 15 日,并将 EndDate 设置为 2009 年 12 月 10 日,则 EndDate 控件正确地进入无效状态。如果用户将 StartDate 更改为 2009 年 12 月 9 日,则 EndDate 控件仍被标记为无效,因为 UI 尚未调用 EndDate 设置器。
是否有强制 UI 重新验证的“干净”MVVM 风格的方法?
【问题讨论】:
标签: validation silverlight-3.0