如何使用WCF RIA服务在WPF中进行客户端验证

时间:2010-05-09 18:18:50

标签: wpf wcf-ria-services

我已经创建了一个WCF RIA服务,我想将其与WPF应用程序一起使用。我在实体元数据上添加了几个System.ComponentModel.DataAnnotations验证规则,当我从客户端调用.SubmitChanges(changeSet)时,所有这些都在服务器上运行良好。在我将更改汇总到服务器之前,我还想在客户端验证我的实体,但我不知道如何这样做。在这方面的任何帮助将不胜感激!谢谢......

1 个答案:

答案 0 :(得分:2)

据我所知,没有针对WPF的WCF RIA服务(虽然我很高兴被证明是错的,因为我在等待这个...),所以你必须做客户端的工作自己。

使用VisualTreeHelper遍历表单中的每个控件,如果控件是面板,则使用递归方式。对于每个控件,都有一个可能绑定的属性列表(我想在这种情况下只有一个)。例如,TextBox可能会绑定其TextBoxProperty,CheckBox将绑定其IsCheckedProperty。使用BindingOperation.GetBinding获取Binding实例,该实例为您提供Source和Path属性。现在使用源上的反射来查看是否存在与之关联的数据注释。如果有,请检查。

是的,这是很多代码。