首页 / 知识
关于.net:WPF数据绑定和验证规则最佳实践
2023-04-15 09:45:00

WPF Data Binding and Validation Rules Best Practices我有一个非常简单的WPF应用程序,其中使用数据绑定来允许编辑某些自定义CLR对象。 我现在想在用户单击保存时添加一些输入验证。 但是,我读过的所有WPF书籍都没有真正致力于解决这个问题。 我看到您可以创建自定义的ValidationRules,但是我想知道这是否会过分满足我的需求。 所以我的问题是:在某处是否有一个好的示例应用程序或文章展示了验证WPF中用户输入的最佳实践? 我认为新的首选方法可能是使用IDataErrorInfo 在这里阅读更多 从MS的模式和实践文档中:
该文档继续说明了如何实现IDataErrorInfo和INotifyDataErrorInfo。 个人而言,我正在使用异常处理验证。它需要执行以下步骤: 这里的技巧是仅绑定到从DependencyObject派生的对象。 INotifyPropertyChanged的简单实现不起作用-框架中存在一个错误,该错误阻止您访问错误集合。 还要检查这篇文章。据说微软从他们的模式和实践中发布了他们的企业库(v4.0),其中涵盖了验证主题,但是上帝知道为什么他们不包括对WPF的验证,因此我将指导您的博客文章解释了作者的内容。做了适应它。希望这可以帮助! 您可能对WPF应用程序框架(WAF)的BookLibrary示例应用程序感兴趣。它显示了如何在WPF中使用验证以及存在验证错误时如何控制"保存"按钮。 如果您的UI直接使用您的业务类,则最好使用IDataErrorInfo,因为它使逻辑更接近其所有者。 如果您的业务类是由对WCF / XmlWeb服务的引用创建的存根类,则您不能/必须不使用IDataErrorInfo或将Exception抛出以与ExceptionValidationRule一起使用。相反,您可以:
|
最新内容
相关内容
创建自定义命令linux?
创建自定义命令linux?,工具,状态,命令,系统,代码,标准,数据,位置,电脑,材料,LINUX中,创建文件夹、文件命令及清除命令。1、创建文件夹mkdir命linux自定义命令行?
linux自定义命令行?,系统,工作,名称,百度,命令,管理,工具,位置,信息,终端,Linux基本命令行操作(一)1、linux系统常用操作命令linux系统常用操linux配置自定义命令?
linux配置自定义命令?,服务,系统,状态,策略,周期,地方,标准,新增,环境,工具,Linux:Python编写Linux自定义命令工具state是命令执行结果的状态,rlinux无效对象的命令?
linux无效对象的命令?,软件,系统,单位,网络,管理,术语,检测,电脑,环境,风险,linux疑问:普通用户的ifconfig命令无法执行,如何解决?建议这个操自定义命令linux命令?
自定义命令linux命令?,工具,系统,数据,命令,新增,代理,通信,地方,信息,时间,大学生程序员必备的十款工具程序员10款生产力工具快来看看 Idea-Ilinux自定义简写命令?
linux自定义简写命令?,系统,工作,命令,标准,地址,基础,信息,软件,目录,文件,基本linux命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出linux命令简写自定义?
linux命令简写自定义?,系统,状态,命令,代码,工具,发行,标准,软件,文件,别名,Linux:Python编写Linux自定义命令工具1、首先我们先认识一下cat指linux用户自定义命令?
linux用户自定义命令?,系统,时间,标准,软件,项目,电脑,服务,工具,基本知识,材料,如何创建linux命令”快捷方式”或”自定义1、使用命令ln创建linux验证分区命令?
linux验证分区命令?,系统,工具,情况,分区,命令,状态,网络,密码,检测,首次,在LINUX系统中,分区与格式化硬盘的命令是什么?1、fdisk/sfdisk:命令linux自定义快捷命令?
linux自定义快捷命令?,系统,首次,位置,时间,文件,命令,链接,快捷键,终端,桌面,在linux里如何建立一个快捷方式,连接到另一个目录ln -s bbb的文linux自定义全局命令?
linux自定义全局命令?,环境,系统,命令,别名,新增,信息,地方,文件,定义,用户,如何创建linux命令”快捷方式”或”自定义使用命令ln创建或者右击在Python中添加自定义模块
在Python中添加自定义模块,第一,环境,培训,代码,模块,路径,文件,文件夹,目录,目的,一般来说,我们会将自己写的Python模块与python自带的模块分