【问题标题】:Adding IDataErrorInfo (or validation) to custom OData service (w/o WCF RIA Services) + MVVM将 IDataErrorInfo(或验证)添加到自定义 OData 服务(无 WCF RIA 服务)+ MVVM
【发布时间】:2010-12-07 16:09:42
【问题描述】:

我没有使用 WCF RIA 服务...我有一个自定义 OData 服务,我的 SL4 应用程序正在使用它。我需要在我的表单中添加验证。我注意到 VS2010 创建的代理没有在实体上实现 IDataErrorInfo。我很想将它添加到我的视图模型中,但我的 SL 应用程序无法识别验证。

是否可以像这样添加验证?很惊讶我在搜索中找不到更多关于此的结果... :(

【问题讨论】:

    标签: silverlight mvvm silverlight-4.0 odata idataerrorinfo


    【解决方案1】:

    想通了(不敢相信我没有想到)。 VS2010 为 OData 服务生成的代理会生成 partial 类。我所要做的就是创建一个新的局部类并实现 INotifyDataErrorInfo。

    感谢接口指针 Einarsson!

    【讨论】:

      【解决方案2】:

      让您的 ViewModel 实现 INotifyDataErrorInfo,它应该可以工作。 :)

      【讨论】:

      • 我的问题是 ViewModel 不包含绑定到特定项目的属性;这不是我的实体。它有一组我绑定的实体。单个实体在 OData 服务代理中定义。创建新项目时,我会在 ViewModel 上更新我的实体类型的属性“WorkingCopy”。如果他们单击“确定”,我会将工作副本添加到集合中并保留更改。因此,在 VM 上实现 INotifyDataErrorInfo 不会引发验证/通知事件。我需要的是一种在实体(代理)上实现此接口的方法,但无法弄清楚如何。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-01
      • 2011-11-20
      相关资源
      最近更新 更多