gpt4 book ai didi

c# - 是否可以结合使用 ValidationRules 和 INotifyDataErrorInfo 进行 wpf 验证?

转载 作者:行者123 更新时间:2023-12-04 15:32:51 28 4
gpt4 key购买 nike

在 WPF 中,有 3 种方法可以进行验证:

  • 验证规则
  • IDataErrorInfo
  • INotifyDataErrorInfo

  • 是否可以同时使用这些组合?出于我的需要,我想使用 INotifyDataErrorInfo 的灵 active 来验证新规则,但不想干扰我想要验证的同一对象的现有 ValidationRules。

    最佳答案

    1. 混合不同的错误源

    是的,您可以混合引用您引用的三种验证:

  • ValidationRules适合 GUI(表面)验证
  • IDataErrorInfo在 View 模型/业务对象上实现。适合更多面向业务的验证
  • INotifyDataErrorInfo也在 View 模型/业务对象上实现。它增加了给定字段出现多个错误的可能性,还增加了异步验证(即服务器或线程可能需要时间来响应验证)。

  • 最后一个错误来源确实需要更长的时间来实现

    2. 考虑错误

    最难的是在数据无效时防止窗口关闭时考虑不同的错误来源。

    必须在 GUI 绑定(bind)中查找 ValidationRules 错误,因为无效数据不会到达业务对象/ViewModel。
    IDataErrorInfoINotifiDataErrorInfo可以在 ViewModel 层中查看。

    问候

    关于c# - 是否可以结合使用 ValidationRules 和 INotifyDataErrorInfo 进行 wpf 验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33629531/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com