如何用WPF的ValidationRules在MVVM中实现长尾词的数据验证功能?

2026-04-13 17:027阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计833个文字,预计阅读时间需要4分钟。

如何用WPF的ValidationRules在MVVM中实现长尾词的数据验证功能?

在WPF中,实现View验证相对简单,可以通过使用`Validation.ErrorEvent`将错误事件冒泡到View的逻辑树上。通常情况下,我们只需为View添加事件监听代码来处理这类错误事件。以下是简化后的代码示例:

csharp// 为View添加事件监听view.ErrorEvent +=(sender, e)=>{ // 处理错误逻辑 // ...};

对于WPF中的验证, View验证实现起来很简单, 可以通道 Validation.ErrorEvent 冒泡传递到View的逻辑树上, 只是, 通常这样做的情况下, 我们需要为View添加事件代码监听这类错误事件, 然后进行处理。

这样做可以说是非常简单, 但是这样的硬编码的, 基本上每个模块每个功能, 你都必不可少的为其进行重复的工作, 这是一项非常枯燥且无聊的体力活!

于是, 则考虑MVVM的架构中, 如何把这种模式传递到ViewModel中, 使得前端的验证, 对于ViewModel仍然有效。

实现的原理, 如图所示:

如何用WPF的ValidationRules在MVVM中实现长尾词的数据验证功能?

在此之前, 对于View前端验证需要做的一些操作步骤,

  • 1.为验证的属性添加自定义验证类
  • 2.设置验证错误的通知属性 NotifyOnValidationError="True" 。
阅读全文

本文共计833个文字,预计阅读时间需要4分钟。

如何用WPF的ValidationRules在MVVM中实现长尾词的数据验证功能?

在WPF中,实现View验证相对简单,可以通过使用`Validation.ErrorEvent`将错误事件冒泡到View的逻辑树上。通常情况下,我们只需为View添加事件监听代码来处理这类错误事件。以下是简化后的代码示例:

csharp// 为View添加事件监听view.ErrorEvent +=(sender, e)=>{ // 处理错误逻辑 // ...};

对于WPF中的验证, View验证实现起来很简单, 可以通道 Validation.ErrorEvent 冒泡传递到View的逻辑树上, 只是, 通常这样做的情况下, 我们需要为View添加事件代码监听这类错误事件, 然后进行处理。

这样做可以说是非常简单, 但是这样的硬编码的, 基本上每个模块每个功能, 你都必不可少的为其进行重复的工作, 这是一项非常枯燥且无聊的体力活!

于是, 则考虑MVVM的架构中, 如何把这种模式传递到ViewModel中, 使得前端的验证, 对于ViewModel仍然有效。

实现的原理, 如图所示:

如何用WPF的ValidationRules在MVVM中实现长尾词的数据验证功能?

在此之前, 对于View前端验证需要做的一些操作步骤,

  • 1.为验证的属性添加自定义验证类
  • 2.设置验证错误的通知属性 NotifyOnValidationError="True" 。
阅读全文