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

标签 wpf wcf-ria-services

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

最佳答案

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

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

是的,它有很多代码。

关于wpf - 如何使用 WCF RIA 服务在 WPF 中进行客户端验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2798631/

相关文章:

wpf - 指定的元素已经是另一个元素的逻辑子元素

wpf datatrigger看不到用户控件属性

.net - Silverlight 和 Active Directory 交互

entity-framework - WCF Ria 服务向导无法与 CodeFirst 一起使用

entity-framework - 在IIS中创建一个Silverlight业务应用程序项目

c# - WPF应用程序的手机/平板电脑风格密码框

wpf - PRISM - 子区域 View 的重用 - 可以做到吗?

silverlight-4.0 - Silverlight 4 WCF Ria服务的轮询模式

silverlight - 如何在 Silverlight 4 应用程序中禁用验证?

c# - 在组合框中滑动文本