WPF IDataErrorInfo多字段验证

WPF IDataErrorInfo多字段验证,wpf,validation,idataerrorinfo,Wpf,Validation,Idataerrorinfo,将多字段验证与IDataErrorInfo集成的好方法是什么 假设我有一个包含3个文本框的ftp信息对话框 网址 用户名 密码 我已经在字段中添加了Required属性(假设密码有一个普通的文本框) 当用户按“确定”时,我验证ftp连接。目前,我显示了一个对话框,但如果我可以触发ftp连接错误的验证错误样式,那就太好了 我看过Validation.MarkInvalid,但不知道如何使用它 var be = GetBindingExpression(xamlURLField); Valida

将多字段验证与IDataErrorInfo集成的好方法是什么

假设我有一个包含3个文本框的ftp信息对话框

  • 网址
  • 用户名
  • 密码
我已经在字段中添加了Required属性(假设密码有一个普通的文本框)

当用户按“确定”时,我验证ftp连接。目前,我显示了一个对话框,但如果我可以触发ftp连接错误的验证错误样式,那就太好了

我看过Validation.MarkInvalid,但不知道如何使用它

var be = GetBindingExpression(xamlURLField);
Validation.MarkInvalid(be, new ValidationError(-- WhatValidationRuleToPutHere --, be, "Can't connect to ftp", null)

你在这里有点担心。验证用于在基本级别验证用户输入。做一些事后验证应该以不同的方式处理,并且通常比您希望包含在“验证”领域中更复杂。当这样的事情很困难的时候,通常是有原因的,这就是原因

我会将尝试连接视为用户交互中的一个单独步骤,并手动显示消息